HPS

namespace HPS

Enums

enum IOResult

Values:

Success
Failure
FileNotFound
UnableToOpenFile
InvalidOptions
InvalidSegment
InProgress
Canceled
UnableToLoadLibraries
VersionIncompatibility
InitializationFailed
UnsupportedFormat
InvalidFile
enum KeyboardCode

Values:

None
Backspace
Tab
Clear
Return
Shift
Control
Alt
Pause
Escape
Space
ExclamationMark
DoubleQuote
Number
Dollar
Percent
Ampersand
SingleQuote
OpenParen
CloseParen
Asterisk
Plus
Comma
Hyphen
Period
Slash
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
Colon
Semicolon
LessThan
Equal
GreaterThan
QuestionMark
AtSymbol
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
OpenBrackets
Backslash
CloseBrackets
Caret
Underscore
Backtick
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
OpenBrace
VerticalBar
ClosingBrace
Tilde
Delete
Insert
Home
End
PageUp
PageDown
Help
Left
Up
Right
Down
NumPad0
NumPad1
NumPad2
NumPad3
NumPad4
NumPad5
NumPad6
NumPad7
NumPad8
NumPad9
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
CapsLock
NumLock
ScrollLock
LeftShift
RightShift
LeftCtrl
RightCtrl
LeftAlt
RightAlt
Select
Print
Execute
PrintScreen
class AbstractMethodException : public HPS.Exception

Thrown if an abstract (pure virtual) method was called directly.

class AnchorShapeElement : public HPS.ShapeElement

The AnchorShapeElement class is a user space object. It is used to define anchor elements to make up shapes for text backgrounds. Anchor points are point to which text leader lines connect. If no anchor elements are defined, all ShapePoints used to construct the shape will be used as anchor points. If at least one anchor point is defined, only explicitly defined anchor points will be used.

Public Functions

AnchorShapeElement ()

The default constructor creates an empty AnchorShapeElement object.

AnchorShapeElement (HPS.AnchorShapeElement in_that)

The copy constructor creates a AnchorShapeElementAnchorShapeElement object that contains the same settings as the source AnchorShapeElement.

Param in_that

The source CircleShapeElement to copy.

AnchorShapeElement (HPS.ShapeElement in_that)

This constructor creates a AnchorShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of an anchor shape element. Otherwise the copy will fail and the resulting AnchorShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

AnchorShapeElement (HPS.ShapePoint in_anchor_point)

This constructor creates a AnchorShapeElement with the specified anchor point.

Param in_anchor_point

The anchor point.

AnchorShapeElement (HPS.ShapePoint in_anchor_point, HPS.ShapePoint[] in_intermediate_points, bool in_connection)

This constructor creates a AnchorShapeElement with the specified parameters.

Param in_anchor_point

The anchor point.

Param in_intermediate_points

Intermediate points between the leader line and the anchor point

Param in_connection

Whether the first intermediate point is connected to the anchor point by a line.

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.

HPS.AnchorShapeElement SetAnchor (HPS.ShapePoint in_anchor)

Sets the anchor point for this AnchorShapeElement.

Param in_anchor

The anchor point.

HPS.AnchorShapeElement SetConnection (bool in_connection)

Sets the connection setting for this AnchorShapeElement.

Param in_connection

Whether the first intermediate point connects to the anchor point.

HPS.AnchorShapeElement SetIntermediatePoints (HPS.ShapePoint[] in_intermediate_points)

Sets the intermediate points for this AnchorShapeElement.

Param in_intermediate_points

The points between the anchor and the leader line.

bool ShowAnchor (out HPS.ShapePoint out_anchor)

Shows the anchor for this AnchorShapeElement.

Param out_anchor

The anchor point.

Return

true if an anchor point was set, false otherwise.

bool ShowConnection (out bool out_connection)

Shows the connection setting for this AnchorShapeElement.

Param out_connection

Whether the first intermediate point connects to the anchor point.

Return

true if a connection setting was set, false otherwise.

bool ShowIntermediatePoints (out HPS.ShapePoint[] out_intermediate_points)

Shows the intermediate points for this AnchorShapeElement.

Param out_intermediate_points

The points between the anchor point and the leader line.

Return

true if intermediate points were set, false otherwise.

HPS.AnchorShapeElement UnsetConnection ()

Unsets the connection setting for this AnchorShapeElement.

HPS.AnchorShapeElement UnsetIntermediatePoints ()

Unsets the intermediate points for this AnchorShapeElement.

class ApplicationWindowKey : public HPS.WindowKey

The ApplicationWindowKey class is a smart pointer to a database object. It is a handle to an application window Visualize can draw into.

Public Functions

ApplicationWindowKey ()

The default constructor creates an uninitialized ApplicationWindowKey object. The Type() function will return Type.None.

ApplicationWindowKey (HPS.ApplicationWindowKey in_that)

The copy constructor creates a ApplicationWindowKey object that shares the underlying smart-pointer of the source ApplicationWindowKey.

Param in_that

The source ApplicationWindowKey to copy.

ApplicationWindowKey (HPS.Key in_key)

The copy constructor creates an ApplicationWindowKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an application window. Otherwise the copy will fail and the resulting ApplicationWindowKey will be invalid.

Param in_key

The source Key to copy.

HPS.ApplicationWindowOptionsControl GetWindowOptionsControl ()

Gets a control that allows querying options specific to application windows.

Return

A control that allows querying options specific to application windows.

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.

bool ShowWindowOptions (out HPS.ApplicationWindowOptionsKit out_kit)

Shows the application-window-specific options for this ApplicationWindowKey.

Param out_kit

The application-window-specific options for this ApplicationWindowKey.

Return

true if any options are set, false otherwise.

class ApplicationWindowOptionsControl : public HPS.Control

The HPS.ApplicationWindowOptionsControl class is a smart pointer that is tied to a database object. It is used to query and manipulate options pertaining to an HPS.ApplicationWindowKey. Default values for the various fields of HPS.ApplicationWindowOptionsControl can be found here.

Public Functions

ApplicationWindowOptionsControl (HPS.ApplicationWindowKey in_seg)

This constructor creates a ApplicationWindowOptionsControl object which is tied to the specified offscreen window.

ApplicationWindowOptionsControl (HPS.ApplicationWindowOptionsControl in_that)

The copy constructor creates a ApplicationWindowOptionsControl object that shares the underlying smart-pointer of the source ApplicationWindowOptionsControl.

Param in_that

The source ApplicationWindowOptionsControl to copy.

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.

HPS.ApplicationWindowOptionsControl SetAntiAliasCapable (bool in_state)

Sets the anti-alias options for this ApplicationWindowOptionsControl.

Param in_state

Whether the associated application window should be anti-alias capable.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.ApplicationWindowOptionsControl SetAntiAliasCapable (bool in_state, uint in_samples)

Sets the anti-alias options for this ApplicationWindowOptionsControl.

Param in_state

Whether the associated application window should be anti-alias capable.

Param in_samples

The number of anti-alias samples to use for the associated application window. Defaults to 4.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.ApplicationWindowOptionsControl SetPlatformData (IntPtr in_platform_data)

Sets the platform specific data for the associated application window.

Param in_platform_data

Platform specific data for the associated application window.

Return

A reference to this ApplicationWindowOptionsControl.

HPS.ApplicationWindowOptionsControl SetScreenAntiAliasing (bool in_state)

Manipulates the state of screen anti-aliasing.

Param in_state

Whether screen anti-aliasing should be used.

Return

A reference to this object.

HPS.ApplicationWindowOptionsControl SetWindowHandle (IntPtr in_window_handle)

Sets the window handle for the associated application window. Used to rebind the application window to a new window handle.

Param in_window_handle

Handle to the new WindowHandle that Visualize will draw into.

Return

A reference to this ApplicationWindowOptionsControl.

bool ShowAntiAliasCapable (out bool out_state, out uint out_samples)

Shows the whether this application window is anti-alias capable, and if so, how many samples it uses for anti-aliasing.

Param out_state

Whether this application window is anti-alias capable.

Param out_samples

The number of anti-alias samples supported by this application window.

Return

true if any anti-alias options were set, false otherwise.

bool ShowDriver (out HPS.Window.Driver out_driver)

Shows the driver for the associated application window.

Param out_driver

The driver for the associated application window.

Return

true if a driver was set, false otherwise.

bool ShowFramebufferRetention (out bool out_retain)

Shows the framebuffer retention setting for the associated application window.

Param out_retain

The framebuffer retention setting for the associated application window.

Return

true if framebuffer retention option was set, false otherwise.

bool ShowPlatformData (out IntPtr out_platform_data)

Shows the platform specific data for the associated application window.

Param out_platform_data

The platform specific data for the associated application window.

Return

true if platform specific data was set, false otherwise.

bool ShowWindowHandle (out IntPtr out_window_handle)

Shows the window handle for the associated application window.

Param out_window_handle

The window handle for the associated application window.

Return

true if a window handle was set, false otherwise.

HPS.ApplicationWindowOptionsControl UnsetFallbackFonts ()

Unsets any fonts currently used as fallback fonts.

class ApplicationWindowOptionsKit : public HPS.Kit

The ApplicationWindowOptionsKit class is a user space object. It is used to specify application-window-specific options. Calling HPS.ApplicationWindowOptionsKit.GetDefault() will return a kit with values found in this table.

Public Functions

ApplicationWindowOptionsKit ()

The default constructor creates an empty ApplicationWindowOptionsKit object.

ApplicationWindowOptionsKit (HPS.ApplicationWindowOptionsKit in_kit)

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

Param in_kit

The source ApplicationWindowOptionsKit to copy.

override bool Empty ()

Indicates whether this ApplicationWindowOptionsKit has any values set on it.

Return

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

bool Equals (HPS.ApplicationWindowOptionsKit in_kit)

Check if the source ApplicationWindowOptionsKit is equivalent to this ApplicationWindowOptionsKit.

Param in_kit

The source ApplicationWindowOptionsKit to compare to this ApplicationWindowOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ApplicationWindowOptionsKit into this ApplicationWindowOptionsKit.

Param in_kit

The source ApplicationWindowOptionsKit to copy.

HPS.ApplicationWindowOptionsKit SetAntiAliasCapable (bool in_state)

Sets the anti-alias options for this ApplicationWindowOptionsKit.

Param in_state

Whether the associated application window should be anti-alias capable.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetAntiAliasCapable (bool in_state, uint in_samples)

Sets the anti-alias options for this ApplicationWindowOptionsKit.

Param in_state

Whether the associated application window should be anti-alias capable.

Param in_samples

The number of anti-alias samples to use for the associated application window. Defaults to 4.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetDriver (HPS.Window.Driver in_driver)

Sets the driver for this ApplicationWindowOptionsKit.

Param in_driver

The driver for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetFramebufferRetention (bool in_retain)

Sets the framebuffer retention option for this ApplicationWindowOptionsKit.

Param in_retain

Whether the associated application window retains the image from the previous frame.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetPlatformData (IntPtr in_platform_data)

Sets the platform specific data for this ApplicationWindowOptionsKit.

Param in_platform_data

Platform specific data for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetPreferredGPU (HPS.GPU.Preference in_gpu_preference)

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request.

<computeroutput>in_gpu_name</computeroutput> needs to be specified when <computeroutput>in_gpu_preference</computeroutput> is set to <computeroutput> GPU.Preference.Specific </computeroutput>. The value passed for <computeroutput>in_gpu_name</computeroutput> needs to match one of those returned by <computeroutput> Database.ShowAvailableGPUs() </computeroutput>. If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU will be used.

All Visualize windows using DirectX11 will use the same GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling <computeroutput>SetPreferredGPU(GPU.Preference.Specific, “Microsoft Basic Render Driver”)</computeroutput>), DirectX11 will run in software mode.

Param in_gpu_preference

Which GPU to choose. If GPU.Preference.Specific is chosen, the next argument is required.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetPreferredGPU (HPS.GPU.Preference in_gpu_preference, string in_gpu_name)

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request.

<computeroutput>in_gpu_name</computeroutput> needs to be specified when <computeroutput>in_gpu_preference</computeroutput> is set to <computeroutput> GPU.Preference.Specific </computeroutput>. The value passed for <computeroutput>in_gpu_name</computeroutput> needs to match one of those returned by <computeroutput> Database.ShowAvailableGPUs() </computeroutput>. If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU will be used.

All Visualize windows using DirectX11 will use the same GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling <computeroutput>SetPreferredGPU(GPU.Preference.Specific, “Microsoft Basic Render Driver”)</computeroutput>), DirectX11 will run in software mode.

Param in_gpu_preference

Which GPU to choose. If GPU.Preference.Specific is chosen, the next argument is required.

Param in_gpu_name

The name of the specific GPU to use. Required when in_gpu_preference is GPU.Preference.Specific, ignored otherwise.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit SetScreenAntiAliasing (bool in_state)

Manipulates the state of screen anti-aliasing.

Param in_state

Whether screen anti-aliasing should be used.

Return

A reference to this object.

void Show (out HPS.ApplicationWindowOptionsKit out_kit)

Copies this ApplicationWindowOptionsKit into the given ApplicationWindowOptionsKit.

Param out_kit

The ApplicationWindowOptionsKit to populate with the contents of this ApplicationWindowOptionsKit.

bool ShowAntiAliasCapable (out bool out_state, out uint out_samples)

Shows the anti-alias options for this ApplicationWindowOptionsKit.

Param out_state

Whether the associated application window should be anti-alias capable.

Param out_samples

The number of anti-alias samples to use for the associated application window.

Return

true if anti-alias options were set, false otherwise.

bool ShowDriver (out HPS.Window.Driver out_driver)

Shows the driver for this ApplicationWindowOptionsKit.

Param out_driver

The driver for this ApplicationWindowOptionsKit.

Return

true if a driver was set, false otherwise.

bool ShowFramebufferRetention (out bool out_retain)

Shows the framebuffer retention setting for this ApplicationWindowOptionsKit.

Param out_retain

The framebuffer retention setting for this ApplicationWindowOptionsKit.

Return

true if platform specific data was set, false otherwise.

bool ShowPlatformData (out IntPtr out_platform_data)

Shows the platform specific data for this ApplicationWindowOptionsKit.

Param out_platform_data

The platform specific data for this ApplicationWindowOptionsKit.

Return

true if platform specific data was set, false otherwise.

bool ShowPreferredGPU (out HPS.GPU.Preference out_gpu_preference, out string out_gpu_name)

Shows the preference settings for picking a GPU when multiple GPUs are available.

Param out_gpu_preference

The preference for picking a GPU when multiple GPUs are available.

Param out_gpu_name

The name of the GPU to use. Only valid when out_gpu_preference is GPU.Preference.Specific

Return

true if a GPU preference was set, false otherwise.

HPS.ApplicationWindowOptionsKit UnsetAntiAliasCapable ()

Removes the anti-alias options for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit UnsetDriver ()

Removes the driver for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit UnsetEverything ()

Removes all settings from this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit UnsetFramebufferRetention ()

Removes the framebuffer retention setting for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit UnsetPlatformData ()

Removes the platform specific data for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit UnsetPreferredGPU ()

Removes the setting for which GPU should be used when multiple GPUs are available.

Return

A reference to this ApplicationWindowOptionsKit.

HPS.ApplicationWindowOptionsKit UnsetScreenAntiAliasing ()

Removes the screen anti-alias options for this ApplicationWindowOptionsKit.

Return

A reference to this ApplicationWindowOptionsKit.

Public Static Functions

HPS.ApplicationWindowOptionsKit GetDefault ()

Creates an ApplicationWindowOptionsKit 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

An ApplicationWindowOptionsKit with the default settings.

class AttributeLock : public IDisposable
class AttributeLockControl : public HPS.Control

The HPS.AttributeLockControl class provides support for attribute locking, which allows temporarily override of an attribute setting for a segment and its descendants. This control is used to set and unset attribute locks at the segment level. For more information, see Core Graphics Programming Guide, section 1.2.4 - subsection “Attribute controls”. This table lists default values for the various segment attributes accessible from HPS.AttributeLockControl.

Public Functions

AttributeLockControl (HPS.AttributeLockControl in_that)

The move constructor creates a AttributeLockKit by transferring the underlying impl of the rvalue reference to this AttributeLockKit thereby avoiding a copy and allocation.

Param in_that

An rvalue reference to a AttributeLockKit to take the impl from.

AttributeLockControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.AttributeLockControl SetLock (HPS.AttributeLock.Type in_type)

Applies an attribute lock that prevents attributes of the chosen type from being modified in child segments.

See

Attribute lock default value

Param in_type

The type of attribute to lock or unlock.

Return

A reference to this object.

HPS.AttributeLockControl SetLock (HPS.AttributeLock.Type in_type, bool in_state)

Applies an attribute lock that prevents attributes of the chosen type from being modified in child segments.

See

Attribute lock default value

Param in_type

The type of attribute to lock or unlock.

Param in_state

Whether the attribute should be locked.

Return

A reference to this object.

HPS.AttributeLockControl SetLock (HPS.AttributeLock.Type[] in_types, bool[] in_states)

Applies attribute locks that prevents attributes of the chosen types from being modified in child segments.

Param in_types

An array of attribute types that should be locked or unlocked.

Param in_states

An array of bools with each one indicating whether the corresponding type in in_types should be locked.

Return

A reference to this object.

HPS.AttributeLockControl SetSubsegmentLockOverride (HPS.AttributeLock.Type in_type)

Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a particular lock as a “super lock” that cannot be overridden by subsegments.

Param in_type

The type of attribute lock that should be ignored in subsegments.

Return

A reference to this object.

HPS.AttributeLockControl SetSubsegmentLockOverride (HPS.AttributeLock.Type in_type, bool in_state)

Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a particular lock as a “super lock” that cannot be overridden by subsegments.

Param in_type

The type of attribute lock that should be ignored in subsegments.

Param in_state

Whether the attribute lock should override locks in subsegments.

Return

A reference to this object.

HPS.AttributeLockControl SetSubsegmentLockOverride (HPS.AttributeLock.Type[] in_types, bool[] in_states)

Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a collection of locks as a “super locks” that cannot be overridden by subsegments.

Return

A reference to this object.

bool ShowLock (HPS.AttributeLock.Type in_type, out bool out_state)

Shows the state of a particular attribute lock.

Param in_type

The type of attribute lock to be queried.

Param out_state

Whether the attribute is locked.

Return

true if the setting is valid, false otherwise.

bool ShowLock (out HPS.AttributeLock.Type[] out_types, out bool[] out_states)

Shows the state of all attribute locks.

Param out_types

An array of types that have an attribute lock setting.

Param out_states

An array of bools with each indicating whether the corresponding entry in in_types is locked.

Return

true if the setting is valid, false otherwise.

bool ShowSubsegmentLockOverride (HPS.AttributeLock.Type in_type, out bool out_state)

Shows the state of a particular subsegment lock override.

Param in_type

The type of attribute lock to be queried.

Param out_state

Whether the attribute lock will override locks in subsegments.

Return

true if the setting is valid, false otherwise.

bool ShowSubsegmentLockOverride (out HPS.AttributeLock.Type[] out_types, out bool[] out_states)

Shows the state of all subsegment lock overrides.

Param out_types

An array of types that have a subsegment lock override setting.

Param out_states

An array of bools with each indicating whether the corresponding entry in in_types is will be ignored in subsegments.

Return

true if the setting is valid, false otherwise.

HPS.AttributeLockControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

HPS.AttributeLockControl UnsetLock ()

Removes an attribute lock setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

HPS.AttributeLockControl UnsetLock (HPS.AttributeLock.Type in_type)

Removes an attribute lock setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

HPS.AttributeLockControl UnsetLock (HPS.AttributeLock.Type[] in_types)

Removes a collection of attribute lock settings. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

HPS.AttributeLockControl UnsetSubsegmentLockOverride ()

Removes a subsegment lock override setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

HPS.AttributeLockControl UnsetSubsegmentLockOverride (HPS.AttributeLock.Type in_type)

Removes a subsegment lock override setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

HPS.AttributeLockControl UnsetSubsegmentLockOverride (HPS.AttributeLock.Type[] in_types)

Removes a collection of subsegment lock override settings. If the control is attached to a WindowKey this function restores the default value of this setting as specified by AttributeLockKit.GetDefault().

Return

A reference to this object.

class AttributeLockKit : public HPS.Kit

The HPS.AttributeLockKit class provides support for attribute locking, which allows temporarily override of an attribute setting for a segment and its descendants. This control is used to set and unset attribute locks at the segment level. Calling HPS.AttributeLockKit.GetDefault() will return a kit with values found in this table.

Public Functions

AttributeLockKit ()

Initializes an empty kit.

AttributeLockKit (HPS.AttributeLockKit in_kit)

Copies the kit in_kit into this kit.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.AttributeLockKit in_kit)

Check if the source AttributeLockKit is equivalent to this object.

Param in_kit

The source AttributeLockKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source AttributeLockKit into this object.

Param in_kit

The source object to copy.

HPS.AttributeLockKit SetLock (HPS.AttributeLock.Type in_type)

Applies an attribute lock that prevents attributes of the chosen type from being modified in child segments.

See

Attribute lock default value

Param in_type

The type of attribute to lock or unlock.

Return

A reference to this object.

HPS.AttributeLockKit SetLock (HPS.AttributeLock.Type in_type, bool in_state)

Applies an attribute lock that prevents attributes of the chosen type from being modified in child segments.

See

Attribute lock default value

Param in_type

The type of attribute to lock or unlock.

Param in_state

Whether the attribute should be locked.

Return

A reference to this object.

HPS.AttributeLockKit SetLock (HPS.AttributeLock.Type[] in_types, bool[] in_states)

Applies attribute locks that prevents attributes of the chosen types from being modified in child segments.

Param in_types

An array of attribute types that should be locked or unlocked.

Param in_states

An array of bools with each one indicating whether the corresponding type in in_types should be locked.

Return

A reference to this object.

HPS.AttributeLockKit SetSubsegmentLockOverride (HPS.AttributeLock.Type in_type)

Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a particular lock as a “super lock” that cannot be overridden by subsegments.

Param in_type

The type of attribute lock that should be ignored in subsegments.

Return

A reference to this object.

HPS.AttributeLockKit SetSubsegmentLockOverride (HPS.AttributeLock.Type in_type, bool in_state)

Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a particular lock as a “super lock” that cannot be overridden by subsegments.

Param in_type

The type of attribute lock that should be ignored in subsegments.

Param in_state

Whether the attribute lock should override locks in subsegments.

Return

A reference to this object.

HPS.AttributeLockKit SetSubsegmentLockOverride (HPS.AttributeLock.Type[] in_types, bool[] in_states)

Normally, if a segment applies an attribute lock it will defeat an existing lock set in a parent segment. This method designates a collection of locks as a “super locks” that cannot be overridden by subsegments.

Param in_types

An array of types of attribute locks that should be ignored in subsegments.

Param in_states

An array of bools with each one indicating whether the corresponding attribute lock in in_types should override locks in subsegments.

Return

A reference to this object.

void Show (out HPS.AttributeLockKit out_kit)

Copies this object into the given AttributeLockKit.

Param out_kit

The AttributeLockKit to populate with the contents of this object.

bool ShowLock (HPS.AttributeLock.Type in_type, out bool out_state)

Shows the state of a particular attribute lock.

Param in_type

The type of attribute lock to be queried.

Param out_state

Whether the attribute is locked.

Return

true if the setting is valid, false otherwise.

bool ShowLock (out HPS.AttributeLock.Type[] out_types, out bool[] out_states)

Shows the state of all attribute locks.

Param out_types

An array of types that have an attribute lock setting.

Param out_states

An array of bools with each indicating whether the corresponding entry in in_types is locked.

Return

true if the setting is valid, false otherwise.

bool ShowSubsegmentLockOverride (HPS.AttributeLock.Type in_type, out bool out_state)

Shows the state of a particular subsegment lock override.

Param in_type

The type of attribute lock to be queried.

Param out_state

Whether the attribute lock will override locks in subsegments.

Return

true if the setting is valid, false otherwise.

bool ShowSubsegmentLockOverride (out HPS.AttributeLock.Type[] out_types, out bool[] out_states)

Shows the state of all subsegment lock overrides.

Param out_types

An array of types that have a subsegment lock override setting.

Param out_states

An array of bools with each indicating whether the corresponding entry in in_types is will be ignored in subsegments.

Return

true if the setting is valid, false otherwise.

HPS.AttributeLockKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.AttributeLockKit UnsetLock ()

Removes an attribute lock setting.

Return

A reference to this object.

HPS.AttributeLockKit UnsetLock (HPS.AttributeLock.Type in_type)

Removes an attribute lock setting.

Return

A reference to this object.

HPS.AttributeLockKit UnsetLock (HPS.AttributeLock.Type[] in_types)

Removes a collection of attribute lock settings.

Return

A reference to this object.

HPS.AttributeLockKit UnsetSubsegmentLockOverride ()

Removes a subsegment lock override setting.

Return

A reference to this object.

HPS.AttributeLockKit UnsetSubsegmentLockOverride (HPS.AttributeLock.Type in_type)

Removes a subsegment lock override setting.

Return

A reference to this object.

HPS.AttributeLockKit UnsetSubsegmentLockOverride (HPS.AttributeLock.Type[] in_types)

Removes a collection of subsegment lock override settings.

Return

A reference to this object.

Public Static Functions

HPS.AttributeLockKit GetDefault ()

Creates an AttributeLockKit 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

An AttributeLockKit with the default settings.

class AttributeLockTypeArray : public HPS.InternalHPSBlittableArray<HPS.AttributeLock.Type>
class BlankLinePatternElement : public HPS.LinePatternElement

The BlankLinePatternElement class is a user space object. It is used for specifying blank elements within a line pattern.

Public Functions

BlankLinePatternElement ()

The default constructor creates an empty BlankLinePatternElement object.

BlankLinePatternElement (float in_size, HPS.LinePattern.SizeUnits in_units)

This constructor creates a BlankLinePatternElement with a given size.

Param in_size

The length of the BlankLinePatternElement.

Param in_units

The units for the length of the BlankLinePatternElement.

BlankLinePatternElement (HPS.BlankLinePatternElement in_that)

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

Param in_that

The source BlankLinePatternElement to copy.

BlankLinePatternElement (HPS.LinePatternElement in_that)

This constructor creates a BlankLinePatternElement object that contains the same settings as the source LinePatternElement. The copy will only be successful if the source line pattern element is really an upcast of a blank line pattern element. Otherwise the copy will fail and the resulting BlankLinePatternElement will be invalid.

Param in_that

The source LinePatternElement to copy.

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.

class BoolArray : public HPS::InternalHPSBlittableArray<bool>
class Bounding : public IDisposable

This is the Bounding Class

class BoundingControl : public HPS.Control

The HPS.BoundingControl class is a smart pointer that is tied to a database object. This object allows you to manipulate settings related to bounding, such as volume and exclusion. This table lists default values for the various segment attributes accessible from HPS.BoundingControl.

Public Functions

BoundingControl (HPS.BoundingControl in_that)

Initializes a control tied to the same object as in_that.

BoundingControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.BoundingControl SetExclusion (bool in_exclusion)

Controls whether this segment should be excluded when computing bounding volumes.

Return

A reference to this object.

HPS.BoundingControl SetVolume (HPS.SimpleCuboid in_cuboid)

Explicitly sets the local bounding.

Param in_cuboid

The SimpleCuboid to set the bounding volume to.

Return

A reference to this object.

HPS.BoundingControl SetVolume (HPS.SimpleSphere in_sphere)

Explicitly sets the local bounding.

Param in_sphere

The SimpleSphere to set the bounding volume to.

Return

A reference to this object.

HPS.BoundingControl SetVolume (HPS.SimpleSphere in_sphere, HPS.SimpleCuboid in_cuboid)

Explicitly sets the local bounding.

Param in_sphere

The SimpleSphere to set the bounding volume to.

Param in_cuboid

The SimpleCuboid to set the bounding volume to.

Return

A reference to this object.

bool ShowExclusion (out bool out_exclusion)

Shows the bounding exclusion setting.

Param out_exclusion

Whether to exclude this segment when computing bounding volumes.

Return

true if the setting is valid, false otherwise.

bool ShowVolume (out HPS.SimpleSphere out_sphere, out HPS.SimpleCuboid out_cuboid)

Shows the bounding volume.

Param out_sphere

A sphere to show the volume into. If the bounding is not a sphere, this argument will be invalidated.

Param out_cuboid

A cuboid to show the volume into. If the bounding is not a cuboid, this argument will be invalidated.

Return

true if the setting is valid, false otherwise.

HPS.BoundingControl UnsetEverything ()

Removes all bounding settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by BoundingKit.GetDefault().

Return

A reference to this object.

HPS.BoundingControl UnsetExclusion ()

Removes a bounding exclusion setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by BoundingKit.GetDefault().

Return

A reference to this object.

HPS.BoundingControl UnsetVolume ()

Removes an explicitly set bounding, reverting to the automatically generated one. If the control is attached to a WindowKey this function restores the default value of this setting as specified by BoundingKit.GetDefault().

Return

A reference to this object.

class BoundingKit : public HPS.Kit

The HPS.BoundingKit class is a user space object, useful for carrying a group of attribute settings. Calling HPS.BoundingKit.GetDefault() will return a kit with values found in this table.

Public Functions

BoundingKit ()

Initializes an empty kit.

BoundingKit (HPS.BoundingKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.BoundingKit in_kit)

Check if the source BoundingKit is equivalent to this object.

Param in_kit

The source BoundingKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source BoundingKit into this object.

Param in_kit

The source BoundingKit to copy.

HPS.BoundingKit SetExclusion (bool in_exclude)

Controls whether this segment should be excluded when computing bounding volumes.

Param in_exclude

Whether to exclude this segment when computing bounding volumes.

Return

A reference to this object.

HPS.BoundingKit SetVolume (HPS.SimpleCuboid in_cuboid)

Explicitly sets the local bounding.

Param in_cuboid

The SimpleCuboid to set the bounding volume to.

Return

A reference to this object.

HPS.BoundingKit SetVolume (HPS.SimpleSphere in_sphere)

Explicitly sets the local bounding.

Param in_sphere

The SimpleSphere to set the bounding volume to.

Return

A reference to this object.

void Show (out HPS.BoundingKit out_kit)

Copies all settings from this BoundingKit into the given BoundingKit.

Param out_kit

The BoundingKit to populate with the contents of this object.

bool ShowExclusion (out bool out_exclusion)

Shows the bounding exclusion setting.

Param out_exclusion

Whether to exclude this segment when computing bounding volumes.

Return

true if the setting is valid, false otherwise.

bool ShowVolume (out HPS.SimpleSphere out_sphere, out HPS.SimpleCuboid out_cuboid)

Shows the bounding volume.

Param out_sphere

A sphere to show the volume into. If the bounding is not a sphere, this argument will be invalidated.

Param out_cuboid

A cuboid to show the volume into. If the bounding is not a cuboid, this argument will be invalidated.

Return

true if the setting is valid, false otherwise.

HPS.BoundingKit UnsetEverything ()

Removes all bounding settings from this object.

Return

A reference to this object.

HPS.BoundingKit UnsetExclusion ()

Removes a bounding exclusion setting.

Return

A reference to this object.

HPS.BoundingKit UnsetVolume ()

Removes an explicitly set bounding, reverting to the automatically generated one.

Return

A reference to this object.

Public Static Functions

HPS.BoundingKit GetDefault ()

Creates a BoundingKit 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 BoundingKit with the default settings.

class ByteArray : public HPS::InternalHPSBlittableArray<byte>
class ByteArrayArray : public IDisposable
class Camera : public IDisposable

This is the Camera Class

class CameraControl : public HPS.Control

The HPS.CameraControl class is a smart pointer that is tied to a database object. The CameraControl is used to manipulate the viewpoint, or camera, in a scene. Using this control, the view position, orientation, target, and aspect ratio of a segment’s camera can be set. A camera with all of its properties is considered a single segment attribute, therefore, cameras inherit down the segment hierarchy along with all their properties as a group. Because all properties of a camera inherit together, it is not possible to modify an individual property of an inherited camera. Attempting to do so will create a new camera initially populated with default values. This table lists default values for the various segment attributes accessible from HPS.CameraControl.

Public Functions

CameraControl (HPS.CameraControl in_that)

Initializes a control tied to the same object as in_that.

CameraControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

HPS.CameraControl Dolly (float in_x_dir, float in_up, float in_forward)

Moves the camera position and target the specified amount but maintains the up vector and field. If a complete camera is not already set up, one will be populated with default values before dollying.

Param in_x_dir

The number of world-space units to move the camera in the x-direction.

Param in_up

The number of world-space units to move the camera up, or if negative, down.

Param in_forward

The number of world-space units to move the camera toward the target, or if negative, away from the target.

Return

A reference to this object.

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.

HPS.CameraControl Orbit (float in_theta, float in_phi)

Moves the camera around the target in_theta degrees to the right and in_phi degrees up. The target and field are maintained but position and up_vector may change. If a complete camera is not already set up, one will be populated with default values before orbiting.

Param in_theta

The number of degrees to move the the camera position to the right.

Param in_phi

The number of degrees to move the the camera position up.

Return

A reference to this object.

HPS.CameraControl Pan (float in_theta, float in_phi)

Pivots the camera on its location in_theta degrees to the right and in_phi degrees up. The position and field remain unchanged while the target and up vector may change. If a complete camera is not already set up, one will be populated with default values before panning.

Param in_theta

The number of degrees to move the the camera target to the right.

Param in_phi

The number of degrees to move the the camera target up.

Return

A reference to this object.

HPS.CameraControl Roll (float in_theta)

Spins the camera around its target in_theta degrees counter-clockwise (the scene will appear to move clockwise). The position, field, and target are unchanged while the up-vector may change. If a complete camera is not already set up, one will be populated with default values before rolling.

Param in_theta

The number of degrees to roll the camera.

Return

A reference to this object.

HPS.CameraControl SetField (float in_width, float in_height)

Sets the camera field.

See

camera field

Param in_width

The width of the camera field, in object-space units.

Param in_height

The height of the camera field, in object-space units.

Return

A reference to this object.

HPS.CameraControl SetNearLimit (float in_double)

Sets the near_limit to in_double that defines the near limit of the camera. A value approaching 0.0 will place it close to the camera position (at the cost of poor z-buffer precision), whereas a value approaching 1.0 will place it near the camera target (at the cost of clipping away anything closer than the target). A value exactly equal to 0 will let HOOPS Visualize choose a limit based on the precision of the zbuffer as reported by the driver.

See

camera near limit

Param in_double

The value to set the near limit to

Return

A reference to this object.

HPS.CameraControl SetPosition (HPS.Point in_position)

Sets the location of the camera.

See

camera position

Param in_position

The location of the camera.

Return

A reference to this object.

HPS.CameraControl SetProjection (HPS.Camera.Projection in_type)

Sets the camera projection type and the oblique skew, if any.

See

camera target

Param in_type

The type of camera projection.

Return

A reference to this object.

HPS.CameraControl SetProjection (HPS.Camera.Projection in_type, float in_oblique_x_skew)

Sets the camera projection type and the oblique skew, if any.

See

camera target

Param in_type

The type of camera projection.

Param in_oblique_x_skew

The oblique skew in the horizontal direction.

Return

A reference to this object.

HPS.CameraControl SetProjection (HPS.Camera.Projection in_type, float in_oblique_x_skew, float in_oblique_y_skew)

Sets the camera projection type and the oblique skew, if any.

See

camera target

Param in_type

The type of camera projection.

Param in_oblique_x_skew

The oblique skew in the horizontal direction.

Param in_oblique_y_skew

The oblique skew in the vertical direction.

Return

A reference to this object.

HPS.CameraControl SetTarget (HPS.Point in_target)

Sets the location that the camera is pointed at.

See

camera position

Param in_target

The location that the camera is pointed at.

Return

A reference to this object.

HPS.CameraControl SetUpVector (HPS.Vector in_up)

Sets a vector that defines the vertical up direction of the camera.

See

camera up vector

Param in_up

A vector that defines the vertical up direction of the camera.

Return

A reference to this object.

bool ShowField (out float out_width, out float out_height)

Shows the camera field.

Param out_width

The width of the camera field, in object-space units.

Param out_height

The height of the camera field, in object-space units.

Return

true if the setting is valid, false otherwise.

bool ShowHeight (out float out_height)

Shows the height of the camera field.

Param out_height

The height of the camera field, in object-space units.

Return

true if the setting is valid, false otherwise.

bool ShowNearLimit (out float out_near_limit)

Shows the camera near limit.

Return

true if the setting is valid, false otherwise.

bool ShowPosition (out HPS.Point out_position)

Shows the camera position.

Param out_position

the location of the camera.

Return

true if the setting is valid, false otherwise.

bool ShowProjection (out HPS.Camera.Projection out_type)

Shows the camera projection type.

Param out_type

The type of camera projection.

Return

true if the setting is valid, false otherwise.

bool ShowProjection (out HPS.Camera.Projection out_type, out float out_oblique_x_skew, out float out_oblique_y_skew)

Shows the camera projection type and the oblique skew, if any.

Param out_type

The type of camera projection.

Param out_oblique_x_skew

The oblique skew in the horizontal direction.

Param out_oblique_y_skew

The oblique skew in the vertical direction.

Return

true if the setting is valid, false otherwise.

bool ShowTarget (out HPS.Point out_target)

Shows the camera target.

Param out_target

the location that the camera is pointed at.

Return

true if the setting is valid, false otherwise.

bool ShowUpVector (out HPS.Vector out_up_vector)

Shows the camera up-vector.

Param out_up_vector

A vector that defines the vertical up direction of the camera.

Return

true if the setting is valid, false otherwise.

bool ShowWidth (out float out_width)

Shows the width of the camera field.

Param out_width

The width of the camera field, in object-space units.

Return

true if the setting is valid, false otherwise.

HPS.CameraControl UnsetEverything ()

Removes all settings from this object. Unlike other attributes, it is not possible to unset just a single field of a camera. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CameraKit.GetDefault().

Return

A reference to this object.

HPS.CameraControl Zoom (float in_zoom)

Adjusts the field of view by dividing the width and height by the input value. Numbers greater than one will have the effect of making things on screen appear larger. Numbers between zero and one will have the opposite effect. Only the field is affected. If a complete camera is not already set up, one will be populated with default values before zooming.

Param in_zoom

The zoom scale factor.

Return

A reference to this object.

class CameraKit : public HPS.Kit

The HPS.CameraKit class is a user space object, useful for carrying a group of attribute settings. Calling HPS.CameraKit.GetDefault() will return a kit with values found in this table.

Public Functions

CameraKit ()

Initializes an empty kit.

CameraKit (HPS.CameraKit in_kit)

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

Param in_kit

The source object to copy.

HPS.CameraKit Dolly (float in_x_dir, float in_up, float in_forward)

Moves the camera position and target the specified amount but maintains the up vector and field. If a complete camera is not already set up, one will be populated with default values before dollying.

Param in_x_dir

The number of world-space units to move the camera in the x-direction.

Param in_up

The number of world-space units to move the camera up, or if negative, down.

Param in_forward

The number of world-space units to move the camera toward the target, or if negative, away from the target.

Return

A reference to this object.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.CameraKit in_kit)

Check if the source CameraKit is equivalent to this object.

Param in_kit

The source CameraKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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.

HPS.CameraKit Orbit (float in_theta, float in_phi)

Moves the camera around the target in_theta degrees to the right and in_phi degrees up. The target and field are maintained but position and up_vector may change. If a complete camera is not already set up, one will be populated with default values before orbiting.

Param in_theta

The number of degrees to move the the camera position to the right.

Param in_phi

The number of degrees to move the the camera position up.

Return

A reference to this object.

HPS.CameraKit Pan (float in_theta, float in_phi)

Pivots the camera on its location in_theta degrees to the right and in_phi degrees up. The position and field remain unchanged while the target and up vector may change. If a complete camera is not already set up, one will be populated with default values before panning.

Param in_theta

The number of degrees to move the the camera target to the right.

Param in_phi

The number of degrees to move the the camera target up.

Return

A reference to this object.

HPS.CameraKit Roll (float in_theta)

Spins the camera around its target in_theta degrees counter-clockwise (the scene will appear to move clockwise). The position, field, and target are unchanged while the up-vector may change. If a complete camera is not already set up, one will be populated with default values before rolling.

Param in_theta

The number of degrees to roll the camera.

Return

A reference to this object.

void Set (HPS.CameraKit in_kit)

Copies all settings from the source CameraKit into this object.

Param in_kit

The source CameraKit to copy.

HPS.CameraKit SetField (float in_width, float in_height)

Sets the camera field.

See

Default value

Param in_width

The width of the camera field, in object-space units.

Param in_height

The height of the camera field, in object-space units.

Return

A reference to this object.

HPS.CameraKit SetNearLimit (float in_limit)

Sets the near_limit to in_limit that defines the near limit of the camera. A value approaching 0.0 will place it close to the camera position (at the cost of poor z-buffer precision), whereas a value approaching 1.0 will place it near the camera target (at the cost of clipping away anything closer than the target). A value exactly equal to 0 will let HOOPS choose a wlimit based on the precision of the zbuffer as reported by the driver.

Param in_limit

The value to set the near limit to

Return

A reference to this object.

HPS.CameraKit SetPosition (HPS.Point in_position)

Sets the location of the camera.

Param in_position

The location of the camera.

Return

A reference to this object.

HPS.CameraKit SetProjection (HPS.Camera.Projection in_type)

Sets the camera projection type and the oblique skew, if any.

See

Default value

Param in_type

The type of camera projection.

Return

A reference to this object.

HPS.CameraKit SetProjection (HPS.Camera.Projection in_type, float in_oblique_y_skew)

Sets the camera projection type and the oblique skew, if any.

See

Default value

Param in_type

The type of camera projection.

Param in_oblique_y_skew

The oblique skew in the vertical direction.

Return

A reference to this object.

HPS.CameraKit SetProjection (HPS.Camera.Projection in_type, float in_oblique_y_skew, float in_oblique_x_skew)

Sets the camera projection type and the oblique skew, if any.

See

Default value

Param in_type

The type of camera projection.

Param in_oblique_y_skew

The oblique skew in the vertical direction.

Param in_oblique_x_skew

The oblique skew in the horizontal direction.

Return

A reference to this object.

HPS.CameraKit SetTarget (HPS.Point in_target)

Sets the location that the camera is pointed at.

Param in_target

The location that the camera is pointed at.

Return

A reference to this object.

HPS.CameraKit SetUpVector (HPS.Vector in_up)

Sets a vector that defines the vertical up direction of the camera.

Param in_up

A vector that defines the vertical up direction of the camera.

Return

A reference to this object.

void Show (out HPS.CameraKit out_kit)

Copies all settings from this CameraKit into the given CameraKit.

Param out_kit

The CameraKit to populate with the contents of this object.

bool ShowField (out float out_width, out float out_height)

Shows the camera field.

Param out_width

The width of the camera field, in object-space units.

Param out_height

The height of the camera field, in object-space units.

Return

true if the setting is valid, false otherwise.

bool ShowHeight (out float out_height)

Shows the height of the camera field.

Param out_height

The height of the camera field, in object-space units.

Return

true if the setting is valid, false otherwise.

bool ShowNearLimit (out float out_near_limit)

Shows the near limit field.

Param out_near_limit

The near limit of the camera field.

Return

true if the setting is valid, false otherwise.

bool ShowPosition (out HPS.Point out_position)

Shows the camera position.

Param out_position

the location of the camera.

Return

true if the setting is valid, false otherwise.

bool ShowProjection (out HPS.Camera.Projection out_type)

Shows the camera projection type.

Param out_type

The type of camera projection.

Return

true if the setting is valid, false otherwise.

bool ShowProjection (out HPS.Camera.Projection out_type, out float out_oblique_y_skew, out float out_oblique_x_skew)

Shows the camera projection type and the oblique skew, if any.

Param out_type

The type of camera projection.

Param out_oblique_y_skew

The oblique skew in the vertical direction.

Param out_oblique_x_skew

The oblique skew in the horizontal direction.

Return

true if the setting is valid, false otherwise.

bool ShowTarget (out HPS.Point out_target)

Shows the camera target.

Param out_target

the location that the camera is pointed at.

Return

true if the setting is valid, false otherwise.

bool ShowUpVector (out HPS.Vector out_up_vector)

Shows the camera up-vector.

Param out_up_vector

A vector that defines the vertical up direction of the camera.

Return

true if the setting is valid, false otherwise.

bool ShowWidth (out float out_width)

Shows the width of the camera field.

Param out_width

The width of the camera field, in object-space units.

Return

true if the setting is valid, false otherwise.

HPS.CameraKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.CameraKit UnsetField ()

Removes the camera field setting.

Return

A reference to this object.

HPS.CameraKit UnsetNearLimit ()

Removes the camera near limit setting.

Return

A reference to this object.

HPS.CameraKit UnsetPosition ()

Removes the camera position setting.

Return

A reference to this object.

HPS.CameraKit UnsetProjection ()

Removes the camera projection setting.

Return

A reference to this object.

HPS.CameraKit UnsetTarget ()

Removes the camera target setting.

Return

A reference to this object.

HPS.CameraKit UnsetUpVector ()

Removes the camera up-vector setting.

Return

A reference to this object.

HPS.CameraKit Zoom (float in_zoom)

Adjusts the field of view by dividing the width and height by the input value. Numbers greater than one will have the effect of making things on screen appear larger. Numbers between zero and one will have the opposite effect. Only the field is affected. If a complete camera is not already set up, one will be populated with default values before zooming.

Param in_zoom

The zoom scale factor.

Return

A reference to this object.

Public Static Functions

HPS.CameraKit GetDefault ()

Creates a CameraKit 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 CameraKit with the default settings.

class CameraKitArray : public HPS::InternalHPSArray<HPS.CameraKit>
struct CameraPoint

The CameraPoint class is a basic 3D point that is assumed to represent a location in camera space.

Public Functions

CameraPoint (CameraPoint cp)

Initializes a new Point from CameraPoint cp.

Param cp

The CameraPoint to initialize this object from.

CameraPoint (float in_x)

Initializes a new CameraPoint with the x parameter and sets the y and z value to zero.

Param in_x

The x parameter.

CameraPoint (float in_x, float in_y)

Initializes a new CameraPoint with x and y parameters and sets the z value to zero.

Param in_x

The x parameter.

Param in_y

The y parameter.

CameraPoint (float in_x, float in_y, float in_z)

Converts the point in_point to camera space via in_window.

CameraPoint (Point p)

Copies the existing point p.

CameraPoint (WindowKey in_window, CameraPoint in_point)

Converts the point in_point to camera space via in_window.

CameraPoint (WindowKey in_window, InnerPixelPoint in_point)

Converts the point in_point to camera space via in_window.

CameraPoint (WindowKey in_window, InnerWindowPoint in_point)

Converts the point in_point to camera space via in_window.

CameraPoint (WindowKey in_window, ObjectPoint in_point)

Converts the point in_point to camera space via in_window.

CameraPoint (WindowKey in_window, PixelPoint in_point)

Converts the point in_point to camera space via in_window.

CameraPoint (WindowKey in_window, WindowPoint in_point)

Converts the point in_point to camera space via in_window.

CameraPoint (WindowKey in_window, WorldPoint in_point)

Converts the point in_point to camera space via in_window.

bool Equals (CameraPoint p)

Compares a CameraPoint object to this CameraPoint.

Param p

The object to compare to this object.

Return

Returns true if the parameter is equivalent to this CameraPoint object, false otherwise.

override bool Equals (object obj)

Compares this CameraPoint object to another object.

Param obj

The object to compare to this object.

Return

Returns true if the parameter is equivalent, false otherwise.

bool Equals (Vector p)

Compares a Vector whose points (x, y, z) correspond to the points of this CameraPoint’s (x, y, z).

Param p

The Vector to compare to this object.

Return

Returns true if the Vector’s components are equivalent to this CameraPoint object, false otherwise.

Public Static Functions

implicit operator Point (CameraPoint p)

Provides an implicit casting operator from CameraPoint to Point.

bool operator!= (CameraPoint p1, CameraPoint p2)

Compares two CameraPoint objects.

Param p1

The first object to compare.

Param p2

The second object to compare.

Return

Returns true if the two parameters are not equivalent, false otherwise.

bool operator== (CameraPoint p1, CameraPoint p2)

Compares two CameraPoint objects.

Param p1

The first object to compare.

Param p2

The second object to compare.

Return

Returns true if the two parameters are equivalent, false otherwise.

class CameraPointArray : public HPS::InternalHPSBlittableArray<HPS.CameraPoint>
class CircleKey : public HPS.GeometryKey

The CircleKey class is a smart pointer to a database object. It is a handle to a circle inserted via SegmentKey.InsertCircle. A circle has face geometry contained within its circumference. The visualization of the circle will be determined by attribute settings affecting faces and edges.

Public Functions

CircleKey ()

The default constructor creates an uninitialized CircleKey object. The Type() function will return Type.None.

CircleKey (HPS.CircleKey in_that)

The copy constructor creates a CircleKey object that shares the underlying smart-pointer of the source CircleKey.

Param in_that

The source CircleKey to copy.

CircleKey (HPS.Key in_that)

This constructor creates a CircleKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Circle key. Otherwise the copy will fail and the resulting CircleKey will be invalid.

void Consume (HPS.CircleKit in_kit)

Completely replaces all settings on this CircleKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this CircleKey.

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

Replace those settings on this CircleKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this CircleKey.

HPS.CircleKey SetCenter (HPS.Point in_center)

Sets the center point for this CircleKey.

Param in_center

The center point for this CircleKey.

Return

A reference to this CircleKey.

HPS.CircleKey SetNormal (HPS.Vector in_normal)

Sets the normal for this CircleKey. This is the normal for the plane in which the circle lies.

Param in_normal

The normal for this CircleKey.

Return

A reference to this CircleKey.

HPS.CircleKey SetRadius (float in_radius)

Sets the radius for this CircleKey.

Param in_radius

The radius for this CircleKey.

Return

A reference to this CircleKey.

void Show (out HPS.CircleKit out_kit)

Copy the contents of this CircleKey into the specified kit.

Param out_kit

The kit to populate with the contents of this CircleKey.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for this CircleKey.

Param out_center

The center point for this CircleKey.

Return

true if a center point was set, false otherwise.

bool ShowNormal (out HPS.Vector out_normal)

Shows the normal for this CircleKey.

Param out_normal

The normal for this CircleKey.

Return

true if a normal was set, false otherwise.

bool ShowRadius (out float out_radius)

Shows the radius for this CircleKey.

Param out_radius

The radius for this CircleKey.

Return

true if a radius was set, false otherwise.

class CircleShapeElement : public HPS.ShapeElement

The CircleShapeElement class is a user space object. It is used to define circle elements to make up shapes for text backgrounds.

Public Functions

CircleShapeElement ()

The default constructor creates an empty CircleShapeElement object.

CircleShapeElement (HPS.CircleShapeElement in_that)

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

Param in_that

The source CircleShapeElement to copy.

CircleShapeElement (HPS.ShapeElement in_that)

This constructor creates a CircleShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of a circle shape element. Otherwise the copy will fail and the resulting CircleShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

CircleShapeElement (HPS.ShapePoint in_center, HPS.ShapePoint in_radius)

This constructor creates a CircleShapeElement with the specified center and radius points.

Param in_center

The center point of the circle.

Param in_radius

The radius of the circle.

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.

HPS.CircleShapeElement SetCenter (HPS.ShapePoint in_center)

Sets the center point for this CircleShapeElement.

Param in_center

The center point of the circle.

HPS.CircleShapeElement SetRadius (HPS.ShapePoint in_radius)

Sets the radius point for this CircleShapeElement.

Param in_radius

The radius point of the circle.

bool ShowCenter (out HPS.ShapePoint out_center)

Shows the center point for this CircleShapeElement.

Param out_center

The center point for the circle.

Return

true if a center point was set, false otherwise.

bool ShowRadius (out HPS.ShapePoint out_radius)

Shows the radius point for this CircleShapeElement.

Param out_radius

The radius point for the circle.

Return

true if a radius was set, false otherwise.

class CircularArcGlyphElement : public HPS.GlyphElement

The CircularArcGlyphElement class is a user space object. It is used to add circular arc elements to a glyph.

Public Functions

CircularArcGlyphElement ()

The default constructor creates an empty CircularArcGlyphElement object.

CircularArcGlyphElement (HPS.CircularArcGlyphElement in_that)

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

Param in_that

The source CircularArcGlyphElement to copy.

CircularArcGlyphElement (HPS.GlyphElement in_that)

This constructor creates a CircularArcGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of a circular arc glyph element. Otherwise the copy will fail and the resulting CircularArcGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

CircularArcGlyphElement (HPS.GlyphPoint in_start, HPS.GlyphPoint in_intermediate, HPS.GlyphPoint in_end)

This constructor creates a CircularArcGlyphElement with the specified start, intermediate, and end points.

Param in_start

The start point for the circular arc.

Param in_intermediate

The intermediate point for the circular arc.

Param in_end

The end point for the circular arc.

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 SetEndPoint (HPS.GlyphPoint in_point)

Sets the end point for the circular arc for this CircularArcGlyphElement.

Param in_point

The end point for the circular arc.

void SetIntermediatePoint (HPS.GlyphPoint in_point)

Sets the intermediate point for the circular arc for this CircularArcGlyphElement.

Param in_point

The intermediate point for the circular arc.

void SetPoints (HPS.GlyphPoint in_start, HPS.GlyphPoint in_intermediate, HPS.GlyphPoint in_end)

Sets the start, intermediate, and end points for the circular arc for this CircularArcGlyphElement.

void SetStartPoint (HPS.GlyphPoint in_point)

Sets the start point for the circular arc for this CircularArcGlyphElement.

Param in_point

The start point for the circular arc.

bool ShowEndPoint (out HPS.GlyphPoint out_point)

Shows the end point for the circular arc for this CircularArcGlyphElement.

Param out_point

The end point for the circular arc.

Return

true if an end point was set, false otherwise.

bool ShowIntermediatePoint (out HPS.GlyphPoint out_point)

Shows the intermediate point for the circular arc for this CircularArcGlyphElement.

Param out_point

The intermediate point for the circular arc.

Return

true if an intermediate point was set, false otherwise.

bool ShowStartPoint (out HPS.GlyphPoint out_point)

Shows the start point for the circular arc for this CircularArcGlyphElement.

Param out_point

The start point for the circular arc.

Return

true if a start point was set, false otherwise.

class CircularArcKey : public HPS.GeometryKey

The CircularArcKey class is a smart pointer to a database object. It is handle to a circular arc inserted via SegmentKey.InsertCircularArc. A circular arc is the line geometry, as such its visualization will be determined by attributes affecting lines.

Public Functions

CircularArcKey ()

The default constructor creates an uninitialized CircularArcKey object. The Type() function will return Type.None.

CircularArcKey (HPS.CircularArcKey in_that)

The copy constructor creates a CircularArcKey object that shares the underlying smart-pointer of the source CircularArcKey.

Param in_that

The source CircularArcKey to copy.

CircularArcKey (HPS.Key in_that)

This constructor creates a CircularArcKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a CircularArc key. Otherwise the copy will fail and the resulting CircularArcKey will be invalid.

void Consume (HPS.CircularArcKit in_kit)

Completely replaces all settings on this CircularArcKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this CircularArcKey.

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

Replace those settings on this CircularArcKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this CircularArcKey.

HPS.CircularArcKey SetEnd (HPS.Point in_end)

Sets the end point for this CircularArcKey. This is the point on the circumference of the circle at which the circular arc ends.

Param in_end

The end point for this CircularArcKey.

Return

A reference to this CircularArcKey.

HPS.CircularArcKey SetMiddle (HPS.Point in_middle)

Sets the middle point for this CircularArcKey. This is a point on the circumference of the circle between the start and end points for the circular arc.

Param in_middle

The middle point for this CircularArcKey.

Return

A reference to this CircularArcKey.

HPS.CircularArcKey SetStart (HPS.Point in_start)

Sets the start point for this CircularArcKey. This is the point on the circumference of the circle at which the circular arc starts.

Param in_start

The start point for this CircularArcKey.

Return

A reference to this CircularArcKey.

void Show (out HPS.CircularArcKit out_kit)

Copy the contents of this CircularArcKey into the specified kit.

Param out_kit

The kit to populate with the contents of this CircularArcKey.

bool ShowEnd (out HPS.Point out_end)

Shows the end point for this CircularArcKey.

Param out_end

The end point for this CircularArcKey.

Return

true if an end point was set, false otherwise.

bool ShowMiddle (out HPS.Point out_middle)

Shows the middle point for this CircularArcKey.

Param out_middle

The middle point for this CircularArcKey.

Return

true if a middle point was set, false otherwise.

bool ShowStart (out HPS.Point out_start)

Shows the start point for this CircularArcKey.

Param out_start

The start point for this CircularArcKey.

Return

true if a start point was set, false otherwise.

class CircularArcShapeElement : public HPS.ShapeElement

The CircularArcShapeElement class is a user space object. It is used to define circular arc elements to make up shapes for text backgrounds.

Public Functions

CircularArcShapeElement ()

The default constructor creates an empty CircularArcShapeElement object.

CircularArcShapeElement (HPS.CircularArcShapeElement in_that)

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

Param in_that

The source CircularArcShapeElement to copy.

CircularArcShapeElement (HPS.ShapeElement in_that)

This constructor creates a CircularArcShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of a circular arc shape element. Otherwise the copy will fail and the resulting CircularArcShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

CircularArcShapeElement (HPS.ShapePoint in_start_point, HPS.ShapePoint in_middle_point, HPS.ShapePoint in_end_point)

This constructor creates a CircularArcShapeElement with the specified parameters.

Param in_start_point

The start of the arc.

Param in_middle_point

A point between the start and the end point, where the arc passes through

Param in_end_point

The end of the arc.

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.

HPS.CircularArcShapeElement SetEndPoint (HPS.ShapePoint in_end)

Sets the end point for this CircularArcShapeElement.

Param in_end

The end point of the arc.

HPS.CircularArcShapeElement SetMiddlePoint (HPS.ShapePoint in_middle)

Sets the minor axis point for this CircularArcShapeElement.

Param in_middle

A point between the start and the end point. The arc passes through this point.

HPS.CircularArcShapeElement SetStartPoint (HPS.ShapePoint in_start)

Sets the center point for this CircularArcShapeElement.

Param in_start

The start of the arc.

bool ShowEndPoint (out HPS.ShapePoint out_end)

Shows the end point for this CircularArcShapeElement.

Param out_end

The end point of the arc

Return

true if an end point was set, false otherwise.

bool ShowMiddlePoint (out HPS.ShapePoint out_middle)

Shows the middle point for this CircularArcShapeElement.

Param out_middle

A point between the start and the end point. The arc passes through this point.

Return

true if a middle point was set, false otherwise.

bool ShowStartPoint (out HPS.ShapePoint out_start)

Shows the center point for this CircularArcShapeElement.

Param out_start

The start for the arc.

Return

true if a star point was set, false otherwise.

class CircularWedgeKey : public HPS.GeometryKey

The CircularWedgeKey class is a smart pointer to a database object. It is a handle to a circular wedge inserted via SegmentKey.InsertCircularWedge. A circular wedge has face geometry contained within the boundary edges of the circular wedge. The visualization of the wedge will be determined by attribute settings affecting faces and edges.

Public Functions

CircularWedgeKey ()

The default constructor creates an uninitialized CircularWedgeKey object. The Type() function will return Type.None.

CircularWedgeKey (HPS.CircularWedgeKey in_that)

The copy constructor creates a CircularWedgeKey object that shares the underlying smart-pointer of the source CircularWedgeKey.

Param in_that

The source CircularWedgeKey to copy.

CircularWedgeKey (HPS.Key in_that)

This constructor creates a CircularWedgeKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a CircularWedge key. Otherwise the copy will fail and the resulting CircularWedgeKey will be invalid.

void Consume (HPS.CircularWedgeKit in_kit)

Completely replaces all settings on this CircularWedgeKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this CircularWedgeKey.

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

Replace those settings on this CircularWedgeKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this CircularWedgeKey.

HPS.CircularWedgeKey SetEnd (HPS.Point in_end)

Sets the end point for this CircularWedgeKey. This is the point on the circumference of the circle at which the circular wedge ends.

Param in_end

The end point for this CircularWedgeKey.

Return

A reference to this CircularWedgeKey.

HPS.CircularWedgeKey SetMiddle (HPS.Point in_middle)

Sets the middle point for this CircularWedgeKey. This is a point on the circumference of the circle between the start and end points for the circular wedge.

Param in_middle

The middle point for this CircularWedgeKey.

Return

A reference to this CircularWedgeKey.

HPS.CircularWedgeKey SetStart (HPS.Point in_start)

Sets the start point for this CircularWedgeKey. This is the point on the circumference of the circle at which the circular wedge starts.

Param in_start

The start point for this CircularWedgeKey.

Return

A reference to this CircularWedgeKey.

void Show (out HPS.CircularWedgeKit out_kit)

Copy the contents of this CircularWedgeKey into the specified kit.

Param out_kit

The kit to populate with the contents of this CircularWedgeKey.

bool ShowEnd (out HPS.Point out_end)

Shows the end point for this CircularWedgeKey.

Param out_end

The end point for this CircularWedgeKey.

Return

true if an end point was set, false otherwise.

bool ShowMiddle (out HPS.Point out_middle)

Shows the middle point for this CircularWedgeKey.

Param out_middle

The middle point for this CircularWedgeKey.

Return

true if a middle point was set, false otherwise.

bool ShowStart (out HPS.Point out_start)

Shows the start point for this CircularWedgeKey.

Param out_start

The start point for this CircularWedgeKey.

Return

true if a start point was set, false otherwise.

class CircularWedgeKit : public HPS.Kit

The CircularWedgeKit class is a user space object. It is a kit analog to a CircularWedgeKey.

Public Functions

CircularWedgeKit ()

The default constructor creates an empty CircularWedgeKit object.

CircularWedgeKit (HPS.CircularWedgeKit in_kit)

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

Param in_kit

The source CircularWedgeKit to copy.

void Consume (HPS.CircularWedgeKit in_kit)

Copies the source CircularWedgeKit into this CircularWedgeKit and resets the source kit.

Param in_kit

The source CircularWedgeKit to consume.

override bool Empty ()

Indicates whether this CircularWedgeKit has any values set on it.

Return

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

bool Equals (HPS.CircularWedgeKit in_kit)

Check if the source CircularWedgeKit is equivalent to this CircularWedgeKit.

Param in_kit

The source CircularWedgeKit to compare to this CircularWedgeKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source CircularWedgeKit into this CircularWedgeKit.

Param in_kit

The source CircularWedgeKit to copy.

HPS.CircularWedgeKit SetEnd (HPS.Point in_end)

Sets the end point for this CircularWedgeKit. This is the point on the circumference of the circle at which the circular wedge ends.

Param in_end

The end point for this CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit SetMiddle (HPS.Point in_middle)

Sets the middle point for this CircularWedgeKit. This is a point on the circumference of the circle between the start and end points for the circular wedge.

Param in_middle

The middle point for this CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the CircularWedgeKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.CircularWedgeKit SetStart (HPS.Point in_start)

Sets the start point for this CircularWedgeKit. This is the point on the circumference of the circle at which the circular wedge starts.

Param in_start

The start point for this CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.CircularWedgeKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.CircularWedgeKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.CircularWedgeKit out_kit)

Copies this CircularWedgeKit into the given CircularWedgeKit.

Param out_kit

The CircularWedgeKit to populate with the contents of this CircularWedgeKit.

bool ShowEnd (out HPS.Point out_end)

Shows the end point for this CircularWedgeKit.

Param out_end

The end point for this CircularWedgeKit.

Return

true if an end point was set, false otherwise.

bool ShowMiddle (out HPS.Point out_middle)

Shows the middle point for this CircularWedgeKit.

Param out_middle

The middle point for this CircularWedgeKit.

Return

true if a middle point was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowStart (out HPS.Point out_start)

Shows the start point for this CircularWedgeKit.

Param out_start

The start point for this CircularWedgeKit.

Return

true if a start point was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.CircularWedgeKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.CircularWedgeKit UnsetEnd ()

Removes the end point for this CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit UnsetEverything ()

Removes all settings from the CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit UnsetMiddle ()

Removes the middle point for this CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.CircularWedgeKit UnsetStart ()

Removes the start point for this CircularWedgeKit.

Return

A reference to this CircularWedgeKit.

HPS.CircularWedgeKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.CircularWedgeKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class ClipOperationArray : public HPS::InternalHPSBlittableArray<HPS.Drawing.ClipOperation>
class ClipSpaceArray : public HPS::InternalHPSBlittableArray<HPS.Drawing.ClipSpace>
class ColorInterpolationControl : public HPS.Control

The HPS.ColorInterpolationControl class is a smart pointer that is tied to a database object. This class is the interface that allows you to manipulate whether color is interpolated over faces and edges. This table lists default values for the various segment attributes accessible from HPS.ColorInterpolationControl.

Public Functions

ColorInterpolationControl (HPS.ColorInterpolationControl in_that)

Initializes a control tied to the same object as in_that.

ColorInterpolationControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.ColorInterpolationControl SetEdgeColor (bool in_state)

Controls whether edge colors will be interpolated.

Param in_state

Whether edge colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationControl SetEdgeIndex (bool in_state)

Controls whether edge index colors will be interpolated.

Param in_state

Whether edge index colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationControl SetFaceColor (bool in_state)

Controls whether face colors will be interpolated.

Param in_state

Whether face colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationControl SetFaceIndex (bool in_state)

Controls whether face colors index will be interpolated.

Param in_state

Whether face index colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationControl SetVertexColor (bool in_state)

Controls whether vertex colors will be interpolated.

Param in_state

Whether vertex colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationControl SetVertexIndex (bool in_state)

Controls whether vertex index colors will be interpolated.

Param in_state

Whether vertex index colors will be interpolated.

Return

a reference to this object.

bool ShowEdgeColor (out bool out_state)

Shows whether color interpolation for the edge color is set

Param out_state

The edge setting for the color interpolation

Return

true if the setting is valid, false otherwise.

bool ShowEdgeIndex (out bool out_state)

Shows whether color index interpolation for the edge index is set

Param out_state

The edge setting for the color index interpolation

Return

true if the setting is valid, false otherwise.

bool ShowFaceColor (out bool out_state)

Shows whether color interpolation for the face color is set

Param out_state

The face setting for the color interpolation

Return

true if the setting is valid, false otherwise.

bool ShowFaceIndex (out bool out_state)

Shows whether color index interpolation for the face index is set

Param out_state

The face setting for the color index interpolation

Return

true if the setting is valid, false otherwise.

bool ShowVertexColor (out bool out_state)

Shows whether color interpolation for the vertex color is set

Param out_state

The vertex setting for the color interpolation

Return

true if the setting is valid, false otherwise.

bool ShowVertexIndex (out bool out_state)

Shows whether color index interpolation for the vertex index is set

Param out_state

The vertex setting for the color index interpolation

Return

true if the setting is valid, false otherwise.

HPS.ColorInterpolationControl UnsetEdgeColor ()

Removes the edge color interpolation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

HPS.ColorInterpolationControl UnsetEdgeIndex ()

Removes the edge index color interpolation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

HPS.ColorInterpolationControl UnsetEverything ()

Unsets all settings in this control. If the control is attached to a WindowKey this function restores the default settings of this control as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

HPS.ColorInterpolationControl UnsetFaceColor ()

Removes the face color interpolation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

HPS.ColorInterpolationControl UnsetFaceIndex ()

Removes the face index color interpolation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

HPS.ColorInterpolationControl UnsetVertexColor ()

Removes the vertex color interpolation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

HPS.ColorInterpolationControl UnsetVertexIndex ()

Removes the vertex index color interpolation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ColorInterpolationKit.GetDefault().

Return

a reference to this object.

class ColorInterpolationKit : public HPS.Kit

The HPS.ColorInterpolationKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.ColorInterpolationKit.GetDefault() will return a kit with values found in this table.

Public Functions

ColorInterpolationKit ()

Initializes an empty kit.

ColorInterpolationKit (HPS.ColorInterpolationKit in_kit)

Copies the kit in_kit into this kit.

override bool Empty ()

Returns whether this kit has any values currently set on it.

bool Equals (HPS.ColorInterpolationKit in_kit)

Compares the contents of in_kit and this kit.

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

Copies the kit in_kit into this kit.

HPS.ColorInterpolationKit SetEdgeColor (bool in_state)

Controls whether edge colors will be interpolated.

Param in_state

Whether edge colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationKit SetEdgeIndex (bool in_state)

Controls whether edge index colors will be interpolated.

Param in_state

Whether edge index colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationKit SetFaceColor (bool in_state)

Controls whether face colors will be interpolated.

Param in_state

Whether face colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationKit SetFaceIndex (bool in_state)

Controls whether face colors index will be interpolated.

Param in_state

Whether face index colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationKit SetVertexColor (bool in_state)

Controls whether vertex colors will be interpolated.

Param in_state

Whether vertex colors will be interpolated.

Return

a reference to this object.

HPS.ColorInterpolationKit SetVertexIndex (bool in_state)

Controls whether vertex index colors will be interpolated.

Param in_state

Whether vertex index colors will be interpolated.

Return

a reference to this object.

void Show (out HPS.ColorInterpolationKit out_kit)

Copies this kit into out_kit.

bool ShowEdgeColor (out bool out_state)

Shows whether color interpolation for the edge color is set

Param out_state

The edge setting for the color interpolation

Return

true if the setting is valid, false otherwise.

bool ShowEdgeIndex (out bool out_state)

Shows whether color index interpolation for the edge index is set

Param out_state

The edge setting for the color index interpolation

Return

true if the setting is valid, false otherwise.

bool ShowFaceColor (out bool out_state)

Shows whether color interpolation for the face color is set

Param out_state

The face setting for the color interpolation

Return

true if the setting is valid, false otherwise.

bool ShowFaceIndex (out bool out_state)

Shows whether color index interpolation for the face index is set

Param out_state

The face setting for the color index interpolation

Return

true if the setting is valid, false otherwise.

bool ShowVertexColor (out bool out_state)

Shows whether color interpolation for the vertex color is set

Param out_state

The vertex setting for the color interpolation

Return

true if the setting is valid, false otherwise.

bool ShowVertexIndex (out bool out_state)

Shows whether color index interpolation for the vertex index is set

Param out_state

The vertex setting for the color index interpolation

Return

true if the setting is valid, false otherwise.

HPS.ColorInterpolationKit UnsetEdgeColor ()

Removes the edge color interpolation setting.

Return

a reference to this object.

HPS.ColorInterpolationKit UnsetEdgeIndex ()

Removes the edge index color interpolation setting.

Return

a reference to this object.

HPS.ColorInterpolationKit UnsetEverything ()

Unsets all settings in this kit.

Return

a reference to this object.

HPS.ColorInterpolationKit UnsetFaceColor ()

Removes the face color interpolation setting.

Return

a reference to this object.

HPS.ColorInterpolationKit UnsetFaceIndex ()

Removes the face index color interpolation setting.

Return

a reference to this object.

HPS.ColorInterpolationKit UnsetVertexColor ()

Removes the vertex color interpolation setting.

Return

a reference to this object.

HPS.ColorInterpolationKit UnsetVertexIndex ()

Removes the vertex index color interpolation setting.

Return

a reference to this object.

class Condition : public IDisposable

The Condition class is a concept class for condition-related enum classes.

class ConditionalExpression : public HPS.Object

A ConditionalExpression is a string or collection of strings separated by logical operators. In practice, conditional expressions form a tree with the leaves being strings (the actual Conditions that must be satisfied) and the interior nodes being logical operators.

Public Functions

HPS.ConditionalExpression AND (HPS.ConditionalExpression in_operand2)

An AND condition is satisfied if both of its operand conditions are satisfied.

Param in_operand2

The condition to AND with this object.

Return

a new condition representing the logical AND of the operand condition with this object.

ConditionalExpression (float in_number)

This constructor is the way to construct a ConditionalExpression object from a number.

ConditionalExpression (HPS.Condition.Intrinsic in_special)

This constructor is the way to construct a ConditionalExpression object from a special intrinsic type.

Param in_special

The intrinsic type to use as the condition.

ConditionalExpression (HPS.ConditionalExpression in_that)

The copy constructor copies the source condition.

Param in_that

the source to be copied.

ConditionalExpression (string in_condition)

This constructor is the way to construct a ConditionalExpression object from a string.

Param in_condition

The string to use as the condition, assumed to be utf8 encoded.

HPS.ConditionalExpression EQ (HPS.ConditionalExpression in_operand2)

An EQ conditional expression is satisfied if its operand expressions are equal.

Param in_operand2

The expression to compare to this object.

Return

a new conditional expression representing the equality comparison of the operand expression with this object.

bool Equals (HPS.ConditionalExpression in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

HPS.ConditionalExpression GT (HPS.ConditionalExpression in_operand2)

An GT conditional expression is satisfied if its second operand is greater than the first operand.

Param in_operand2

The expression to compare to this object.

Return

a new conditional expression representing the greater than comparison of the operand expression with this object.

HPS.ConditionalExpression GTEQ (HPS.ConditionalExpression in_operand2)

An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.

Param in_operand2

The expression to compare to this object.

Return

a new conditional expression representing the greater than or equal to comparison of the operand expression with this object.

bool IsSatisfiedBy (string in_condition)

Determines if the source ConditionalExpression object is satisfied by the given condition.

Param in_condition

The condition to test against the ConditionalExpression object.

Return

true if the ConditionalExpression object is satisfied, false otherwise.

HPS.ConditionalExpression LT (HPS.ConditionalExpression in_operand2)

An LT conditional expression is satisfied if its second operand is less than the first operand.

Param in_operand2

The expression to compare to this object.

Return

a new conditional expression representing the less than comparison of the operand expression with this object.

HPS.ConditionalExpression LTEQ (HPS.ConditionalExpression in_operand2)

An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.

Param in_operand2

The expression to compare to this object.

Return

a new conditional expression representing the less than or equal to comparison of the operand expression with this object.

HPS.ConditionalExpression NEQ (HPS.ConditionalExpression in_operand2)

An NEQ conditional expression is satisfied if its operand expressions are not equal.

Param in_operand2

The expression to compare to this object.

Return

a new conditional expression representing the non-equality comparison of the operand expression with this object.

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.

HPS.ConditionalExpression OR (HPS.ConditionalExpression in_operand2)

An OR condition is satisfied if either of its operand conditions are satisfied.

Param in_operand2

The condition to OR with this object.

Return

a new condition representing the logical OR of the operand condition with this object.

bool ShowCondition (out string out_condition)

Shows the condition string that has been set on this object, if any. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.

Param out_condition

The condition string.

Return

true if a condition string has been set, false otherwise.

bool ShowIntrinsic (out HPS.Condition.Intrinsic out_special)

Shows the intrinsic type that has been set on this object, if any. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.

Param out_special

The intrinsic type.

Return

true if an intrinsic type has been set, false otherwise.

bool ShowNumber (out float out_number)

Shows the number that has been set on this object, if any. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.

Param out_number

The number.

Return

true if a number has been set, false otherwise.

bool ShowOperands (out HPS.ConditionalExpression[] out_operands)

Retrieves the operands, if any, of this condition object. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.

Param out_operands

An array of condition operands.

Return

true if operands are set on this object, false otherwise.

HPS.ConditionalExpression XOR (HPS.ConditionalExpression in_operand2)

An XOR condition is satisfied if either operand condition is satisfied, but not both.

Param in_operand2

The condition to XOR with this object.

Return

a new condition representing the logical XOR of the operand condition with this object.

Public Static Functions

HPS.ConditionalExpression AND (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An AND condition is satisfied if both of its operand conditions are satisfied.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new condition representing the logical AND of the operand conditions.

HPS.ConditionalExpression EQ (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An EQ conditional expression is satisfied if its operand expressions are equal.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new conditional expression representing the equality comparison of the operand expressions.

HPS.ConditionalExpression GT (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An GT conditional expression is satisfied if its second operand is greater than the first operand.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new conditional expression representing the greater than comparison of the operand expressions.

HPS.ConditionalExpression GTEQ (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new conditional expression representing the greater than or equal to comparison of the operands.

HPS.ConditionalExpression LT (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An LT conditional expression is satisfied if its second operand is less than the first operand.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new conditional expression representing the less than comparison of the operand expressions.

HPS.ConditionalExpression LTEQ (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new conditional expression representing the less than or equal to comparison of the operand expressions.

HPS.ConditionalExpression NEQ (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An NEQ conditional expression is satisfied if its operand expressions are not equal.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new conditional expression representing the non-equality comparison of the operand expressions.

HPS.ConditionalExpression NOT (HPS.ConditionalExpression in_operand)

A NOT condition is satisfied if its operand condition is not satisfied.

Param in_operand

The condition operand.

Return

a new condition representing the logical negation of the operand.

HPS.ConditionalExpression OR (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An OR condition is satisfied if either of its operand conditions are satisfied.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new condition representing the logical OR of the operand conditions.

HPS.ConditionalExpression XOR (HPS.ConditionalExpression in_operand1, HPS.ConditionalExpression in_operand2)

An XOR condition is satisfied if either operand condition is satisfied, but not both.

Param in_operand1

The first condition operand.

Param in_operand2

The second condition operand.

Return

a new condition representing the logical XOR of the operand conditions.

class ConditionalExpressionArray : public HPS::InternalHPSArray<HPS.ConditionalExpression>
class ConditionControl : public HPS.Control

The ConditionControl class is a smart pointer that is tied to a database object. This class is used to set and unset conditions on a segment. A condition can be used to control when a style is applied, or to control when an included segment is included.

Public Functions

HPS.ConditionControl AddCondition (string in_condition)

Adds a condition to the collection of active conditions on this segment.

Param in_condition

the condition to enable.

Return

a reference to this object.

ConditionControl (HPS.ConditionControl in_that)

Initializes a control tied to the same object as in_that.

ConditionControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

ulong GetCount ()

Retrieves the number of conditions set on this segment.

Return

The number of conditions set on this segment.

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.

HPS.ConditionControl SetCondition (string in_condition)

Sets a condition as the only active condition on this segment, replacing any existing conditions.

Param in_condition

the condition to enable.

Return

a reference to this object.

HPS.ConditionControl SetConditions (string[] in_conditions)

Sets a collection of conditions as the only active conditions on this segment, replacing any existing conditions.

Param in_conditions

An array of conditions to enable.

Return

a reference to this object.

bool ShowCondition (string in_condition)

Queries the existence of one condition on this segment.

Param in_condition

The condition in question.

Return

true if the setting is valid, false otherwise.

HPS.ConditionControl UnsetCondition (string in_condition)

Removes a specified condition from the active conditions on this segment.

Param in_condition

The condition to remove.

Return

a reference to this object.

HPS.ConditionControl UnsetEverything ()

Unsets all conditions on this segment.

Return

a reference to this object.

class ContourLine : public IDisposable

This is the ContourLine Class

Public Types

enum Mode

ContourLine Mode

Values:

Repeating

CuttingSection Mode.

Explicit

CuttingSection Mode.

class ContourLineControl : public HPS.Control

The HPS.ContourLineControl class is a smart pointer that is tied to a database object. As its name suggests, this object can be used to control the various attributes related to contour lines, such as pattern, position, color, and weight. This table lists default values for the various segment attributes accessible from HPS.ContourLineControl.

Public Functions

ContourLineControl (HPS.ContourLineControl in_that)

Initializes a control tied to the same object as in_that.

ContourLineControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.ContourLineControl SetColors (HPS.RGBColor in_rgb_color)

Sets the color to be used for drawing all contour lines.

Param in_rgb_color

The color to be used for drawing all contour lines

Return

A reference to this object.

HPS.ContourLineControl SetColors (HPS.RGBColor[] in_colors)

Sets the colors to be used for drawing contour lines. If there are more contour lines than colors, the array will be cycled through.

Param in_colors

An array of colors to be used for drawing contour lines.

Return

A reference to this object.

HPS.ContourLineControl SetLighting (bool in_state)

Controls whether contour lines are lit.

Param in_state

Whether contour lines are lit.

Return

A reference to this object.

HPS.ContourLineControl SetPatterns (string in_pattern)

Sets the line pattern to be used for drawing all contour lines.

Param in_pattern

The line pattern name, defined in an accessible portfolio, to be used for drawing all contour lines.

Return

A reference to this object.

HPS.ContourLineControl SetPatterns (string[] in_patterns)

Sets the line patterns to be used for drawing contour lines. If there are more contour lines than patterns, the array will be cycled through.

Param in_patterns

An array of line pattern names, defined in an accessible portfolio, to be used for drawing contour lines.

Return

A reference to this object.

HPS.ContourLineControl SetPositions (float in_interval, float in_offset)

Controls the positioning of contour lines. This variant creates them at regular intervals with an optional offset.

Param in_interval

The number of units between contour lines.

Param in_offset

The starting point for contour lines.

Return

A reference to this object.

HPS.ContourLineControl SetPositions (float[] in_positions)

Controls the positioning of contour lines. This variant defines explicit locations that contour lines should appear at.

Param in_positions

An array of explicit locations to draw contour lines.

Return

A reference to this object.

HPS.ContourLineControl SetVisibility (bool in_state)

Determines whether contour lines should be rendered.

Param in_state

Whether contour lines should be rendered.

Return

A reference to this object.

HPS.ContourLineControl SetWeights (float in_weight)

Sets the line weight to be used for drawing all contour lines.

Param in_weight

The line weight to be used for drawing all contour lines.

Return

A reference to this object.

HPS.ContourLineControl SetWeights (float in_weight, HPS.Line.SizeUnits in_units)

Sets the line weight to be used for drawing all contour lines.

Param in_weight

The line weight to be used for drawing all contour lines.

Param in_units

The units associated with in_weight.

Return

A reference to this object.

HPS.ContourLineControl SetWeights (float[] in_weights, HPS.Line.SizeUnits[] in_units)

Sets the line weights to be used for drawing contour lines. If there are more contour lines than weights, the array will be cycled through.

Param in_weights

An array of line weights to be applied to contour lines.

Param in_units

An array of line weight units used with the corresponding entry in in_weights.

Return

A reference to this object.

bool ShowColors (out HPS.RGBColor[] out_colors)

Shows the colors of contour lines.

Param out_colors

An array of colors of contour lines

Return

true if the setting is valid, false otherwise.

bool ShowLighting (out bool out_state)

Shows whether contour lines should be lit.

Param out_state

Whether contour lines should be lit.

Return

true if the setting is valid, false otherwise.

bool ShowPositions (out HPS.ContourLine.Mode out_mode, out float[] out_positions)

Shows the positions of contour lines.

Param out_mode

Whether the positions repeat at some interval or are an explicit list.

Param out_positions

If out_mode is Repeating, this will contain the interval and offset, in that order. Otherwise it will contain the explicit list specified.

Return

true if the setting is valid, false otherwise.

bool ShowVisibility (out bool out_state)

Shows the visibility state of contour lines.

Param out_state

Whether contour lines should be rendered.

Return

true if the setting is valid, false otherwise.

bool ShowWeights (out float[] out_weights, out HPS.Line.SizeUnits[] out_units)

Shows the line weights of contour lines.

Param out_weights

An array of line weights for contour lines.

Param out_units

An array of line weight units, each is applied to the corresponding entry in out_weights

Return

true if the setting is valid, false otherwise.

HPS.ContourLineControl UnsetColors ()

Removes the contour line colors setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

HPS.ContourLineControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

HPS.ContourLineControl UnsetLighting ()

Removes the contour line lighting setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

HPS.ContourLineControl UnsetPatterns ()

Removes the contour line patterns setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

HPS.ContourLineControl UnsetPositions ()

Removes the contour line positions setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

HPS.ContourLineControl UnsetVisibility ()

Removes the contour line visibility setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

HPS.ContourLineControl UnsetWeights ()

Removes the contour line weights setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by ContourLineKit.GetDefault().

Return

A reference to this object.

class ContourLineKit : public HPS.Kit

The HPS.ContourLineKit class is a user space object, useful for carrying a group of attribute settings. Calling HPS.ContourLineKit.GetDefault() will return a kit with values found in this table.

Public Functions

ContourLineKit ()

Initializes an empty kit.

ContourLineKit (HPS.ContourLineKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.ContourLineKit in_kit)

Check if the source ContourLineKit is equivalent to this object.

Param in_kit

The source ContourLineKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ContourLineKit into this object.

Param in_kit

The source object to copy.

HPS.ContourLineKit SetColors (HPS.RGBColor in_color)

Sets the color to be used for drawing all contour lines.

Param in_color

The color to be used for drawing all contour lines

Return

A reference to this object.

HPS.ContourLineKit SetColors (HPS.RGBColor[] in_colors)

Sets the colors to be used for drawing contour lines. If there are more contour lines than colors, the array will be cycled through.

Param in_colors

An array of colors to be used for drawing contour lines.

Return

A reference to this object.

HPS.ContourLineKit SetLighting (bool in_state)

Controls whether contour lines are lit.

Param in_state

Whether contour lines are lit.

Return

A reference to this object.

HPS.ContourLineKit SetPatterns (string in_pattern)

Sets the line pattern to be used for drawing all contour lines.

Param in_pattern

The line pattern name, defined in an accessible portfolio, to be used for drawing all contour lines.

Return

A reference to this object.

HPS.ContourLineKit SetPatterns (string[] in_patterns)

Sets the line patterns to be used for drawing contour lines. If there are more contour lines than patterns, the array will be cycled through.

Param in_patterns

An array of line pattern names, defined in an accessible portfolio, to be used for drawing contour lines.

Return

A reference to this object.

HPS.ContourLineKit SetPositions (float in_interval, float in_offset)

Controls the positioning of contour lines. This variant creates them at regular intervals with an optional offset.

Param in_interval

The number of units between contour lines.

Param in_offset

The starting point for contour lines.

Return

A reference to this object.

HPS.ContourLineKit SetPositions (float[] in_positions)

Controls the positioning of contour lines. This variant defines explicit locations that contour lines should appear at.

Param in_positions

An array of explicit locations to draw contour lines.

Return

A reference to this object.

HPS.ContourLineKit SetVisibility (bool in_state)

Determines whether contour lines should be rendered.

Param in_state

Whether contour lines should be rendered.

Return

A reference to this object.

HPS.ContourLineKit SetWeights (float in_weight)

Sets the line weight to be used for drawing all contour lines.

Param in_weight

The line weight to be used for drawing all contour lines.

Return

A reference to this object.

HPS.ContourLineKit SetWeights (float in_weight, HPS.Line.SizeUnits in_units)

Sets the line weight to be used for drawing all contour lines.

Param in_weight

The line weight to be used for drawing all contour lines.

Param in_units

The units associated with in_weight.

Return

A reference to this object.

HPS.ContourLineKit SetWeights (float[] in_weights, HPS.Line.SizeUnits[] in_units)

Sets the line weights to be used for drawing contour lines. If there are more contour lines than weights, the array will be cycled through.

Param in_weights

An array of line weights to be applied to contour lines.

Param in_units

An array of line weight units used with the corresponding entry in in_weights.

Return

A reference to this object.

void Show (out HPS.ContourLineKit out_kit)

Copies this object into the given ContourLineKit.

Param out_kit

The ContourLineKit to populate with the contents of this object.

bool ShowColors (out HPS.RGBColor[] out_colors)

Shows the colors of contour lines.

Param out_colors

An array of colors of contour lines

Return

true if the setting is valid, false otherwise.

bool ShowLighting (out bool out_state)

Shows whether contour lines should be lit.

Param out_state

Whether contour lines should be lit.

Return

true if the setting is valid, false otherwise.

bool ShowPositions (out HPS.ContourLine.Mode out_mode, out float[] out_positions)

Shows the positions of contour lines.

Param out_mode

Whether the positions repeat at some interval or are an explicit list.

Param out_positions

If out_mode is Repeating, this will contain the interval and offset, in that order. Otherwise it will contain the explicit list specified.

Return

true if the setting is valid, false otherwise.

bool ShowVisibility (out bool out_state)

Shows the visibility state of contour lines.

Param out_state

Whether contour lines should be rendered.

Return

true if the setting is valid, false otherwise.

bool ShowWeights (out float[] out_weights, out HPS.Line.SizeUnits[] out_units)

Shows the line weights of contour lines.

Param out_weights

An array of line weights for contour lines.

Param out_units

An array of line weight units, each is applied to the corresponding entry in out_weights

Return

true if the setting is valid, false otherwise.

HPS.ContourLineKit UnsetColors ()

Removes the contour line colors setting.

Return

A reference to this object.

HPS.ContourLineKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.ContourLineKit UnsetLighting ()

Removes the contour line lighting setting.

Return

A reference to this object.

HPS.ContourLineKit UnsetPatterns ()

Removes the contour line patterns setting.

Return

A reference to this object.

HPS.ContourLineKit UnsetPositions ()

Removes the contour line positions setting.

Return

A reference to this object.

HPS.ContourLineKit UnsetVisibility ()

Removes the contour line visibility setting.

Return

A reference to this object.

HPS.ContourLineKit UnsetWeights ()

Removes the contour line weights setting.

Return

A reference to this object.

Public Static Functions

HPS.ContourLineKit GetDefault ()

Creates a ContourLineKit 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 ContourLineKit with the default settings.

class Control : public HPS.Object

The Control class is the base class for all Visualize controls.

Subclassed by HPS.ApplicationWindowOptionsControl, HPS.AttributeLockControl, HPS.BoundingControl, HPS.CameraControl, HPS.ColorInterpolationControl, HPS.ConditionControl, HPS.ContourLineControl, HPS.CullingControl, HPS.CurveAttributeControl, HPS.CuttingSectionAttributeControl, HPS.CylinderAttributeControl, HPS.DebuggingControl, HPS.DrawingAttributeControl, HPS.EdgeAttributeControl, HPS.HiddenLineAttributeControl, HPS.HighlightControl, HPS.LightingAttributeControl, HPS.LineAttributeControl, HPS.MarkerAttributeControl, HPS.MaterialMappingControl, HPS.ModellingMatrixControl, HPS.NURBSSurfaceAttributeControl, HPS.OffScreenWindowOptionsControl, HPS.PerformanceControl, HPS.PortfolioControl, HPS.PostProcessEffectsControl, HPS.SelectabilityControl, HPS.SelectionControl, HPS.SelectionOptionsControl, HPS.SphereAttributeControl, HPS.StandAloneWindowOptionsControl, HPS.StyleControl, HPS.SubwindowControl, HPS.TextAttributeControl, HPS.TextureMatrixControl, HPS.TransformMaskControl, HPS.TransparencyControl, HPS.UpdateOptionsControl, HPS.VisibilityControl, HPS.VisualEffectsControl, HPS.WindowInfoControl

Public Functions

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.

class Coordinate : public IDisposable

The Coordinate class is a concept class that contains information about various coordinate spaces.

Public Types

enum Space

The Space enum is a list of all coordinate spaces used in Visualize.

Values:

Object

An infinite 3D Cartesian coordinate system local to the object or segment itself.

World

An infinite 3D Cartesian coordinate system where objects reside after their modelling transformations have been applied.

Camera

A space defined by a camera’s view of world space with the origin at the camera position, y-axis along the camera’s up vector and z-axis pointing toward the camera target.

Window

A rectangle ([-1,1] in x and y directions) with the origin at center of the outer window.

Pixel

The pixel position of the outer window counting from the top-left corner.

InnerWindow

A rectangle ([-1,1] in x and y directions) with the origin at center of the inner window.

InnerPixel

The pixel position of the inner window counting from the top-left corner.

NormalizedInnerWindow

Same as InnerWindow except z is in [0,1] with 0 at the camera limit and 1 at infinity.

NormalizedInnerPixel

Same as InnerPixel except z is in [0,1] with 0 at the camera limit and 1 at infinity.

NormalizedWindow

Same as Window except z is in [0,1] with 0 at the camera limit and 1 at infinity.

NormalizedPixel

Same as Pixel except z is in [0,1] with 0 at the camera limit and 1 at infinity.

class CubeMapDefinition : public HPS.Definition

The CubeMapDefinition class is a smart pointer to a database object. It is a handle to a cube map defined within a portfolio.

Public Functions

CubeMapDefinition ()

The default constructor creates an uninitialized CubeMapDefinition object. The Type() function will return Type.None.

CubeMapDefinition (HPS.CubeMapDefinition in_that)

The copy constructor creates a CubeMapDefinition object that shares the underlying smart-pointer of the source CubeMapDefinition.

Param in_that

The source CubeMapDefinition to copy.

CubeMapDefinition (HPS.Definition in_that)

This constructor creates a CubeMapDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a cube map definition. Otherwise the copy will fail and the resulting CubeMapDefinition will be invalid.

Param in_that

The source Definition to copy.

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 SetOptions (HPS.TextureOptionsKit in_options)

Redefine the texture options for this CubeMapDefinition.

Param in_options

The new texture options for this CubeMapDefinition.

void SetSource (HPS.ImageDefinition in_negative_z, HPS.ImageDefinition in_positive_z, HPS.ImageDefinition in_negative_x, HPS.ImageDefinition in_positive_x, HPS.ImageDefinition in_negative_y, HPS.ImageDefinition in_positive_y)

Redefine the images for this CubeMapDefinition.

Param in_negative_z

The new image for the negative z-axis.

Param in_positive_z

The new image for the positive z-axis.

Param in_negative_x

The new image for the negative x-axis.

Param in_positive_x

The new image for the positive x-axis.

Param in_negative_y

The new image for the negative y-axis.

Param in_positive_y

The new image for the positive y-axis.

void ShowOptions (out HPS.TextureOptionsKit out_options)

Show the texture options for this CubeMapDefinition.

Param out_options

The texture options for this CubeMapDefinition.

void ShowSource (out HPS.ImageDefinition out_negative_z, out HPS.ImageDefinition out_positive_z, out HPS.ImageDefinition out_negative_x, out HPS.ImageDefinition out_positive_x, out HPS.ImageDefinition out_negative_y, out HPS.ImageDefinition out_positive_y)

Show the images for this CubeMapDefinition.

Param out_negative_z

The image for the negative z-axis.

Param out_positive_z

The image for the positive z-axis.

Param out_negative_x

The image for the negative x-axis.

Param out_positive_x

The image for the positive x-axis.

Param out_negative_y

The image for the negative y-axis.

Param out_positive_y

The image for the positive y-axis.

void ShowSource (out HPS.ImageDefinition[] out_image_sources)

Show the images for this CubeMapDefinition.

Param out_image_sources

The source images packed as: negative z-axis, positive z-axis, negative x-axis, positive x-axis, negative y-axis, positive y-axis.

class CubeMapDefinitionArray : public HPS::InternalHPSArray<HPS.CubeMapDefinition>
class Culling : public IDisposable

The Face Culling class ia a concept class that contains information about various face culling options

Public Types

enum Face

Enumerates faces that can be culled depending on the direction of the face’s normals relative to the camera.

Values:

Off

No faces will be culled.

Back

Culls faces with normals that face away from the camera.

Front

Culls faces with normals that face towards the camera.

class CullingControl : public HPS.Control

The HPS.CullingControl class is a smart pointer that is tied to a database object. Using this object, you are able to control the various options related to culling, such as enabling or disabling back face culling, vector culling, and frustum culling. This table lists default values for the various segment attributes accessible from HPS.CullingControl.

Public Functions

CullingControl (HPS.CullingControl in_that)

Initializes a control tied to the same object as in_that.

CullingControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.CullingControl SetBackFace (bool in_state)

Controls whether faces with normals that point away from the camera should be culled. This option can only be effective if a polygon handedness is defined.

Deprecated:

This function exists for compatibility. Use SetFace instead.

Param in_state

Whether faces with normals that point away from the camera should be culled.

Return

A reference to this object.

HPS.CullingControl SetDeferralExtent (bool in_state, uint in_pixels)

Controls whether geometry that falls below a certain size should be deferred. This setting only becomes relevant in timed updates (or fixed-framerate) when deferred geometry is given a lower priority. During non-timed updates no geometry is deferred, regardless of this setting.

Param in_state

Whether deferral culling should be enabled.

Param in_pixels

The number of pixels below which geometry should be deferred.

Return

A reference to this object.

HPS.CullingControl SetDeferralExtent (uint in_pixels)

Controls whether geometry that falls below a certain size should be deferred. This setting only becomes relevant in timed updates (or fixed-framerate) when deferred geometry is given a lower priority. During non-timed updates no geometry is deferred, regardless of this setting.

Param in_pixels

The number of pixels below which geometry should be deferred.

Return

A reference to this object.

HPS.CullingControl SetDistance (bool in_state, float in_max_distance)

Controls state of distance culling. When using distance culling geometries that lie farther away from the camera than specified in in_max_distance will be culled. in_max_distance is specified in world units.

Param in_state

Whether to use distance culling.

Param in_max_distance

The maximum distance from the camera after which geometries will be culled.

Return

A reference to this object.

HPS.CullingControl SetDistance (float in_max_distance)

Controls state of distance culling. This function implicitly enables distance culling. When using distance culling geometries that lie farther away from the camera than specified in in_max_distance will be culled. in_max_distance is specified in world units.

Param in_max_distance

The maximum distance from the camera after which geometries will be culled.

Return

A reference to this object.

HPS.CullingControl SetExtent (bool in_state, uint in_pixels)

Controls whether geometry that falls below a certain size should be culled.

Param in_state

Whether extent culling should be enabled.

Param in_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

A reference to this object.

HPS.CullingControl SetExtent (uint in_pixels)

Controls whether geometry that falls below a certain size should be culled. This function implicitly enables extent culling.

Param in_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

A reference to this object.

HPS.CullingControl SetFace (HPS.Culling.Face in_state)

Controls whether faces with normals that point away from the camera or with normals that point toward the camera should be culled. This option can only be effective if a polygon handedness is defined.

Param in_state

Whether faces with normals that point away from the camera or with normals that point toward the camera should be culled.

Return

A reference to this object.

HPS.CullingControl SetFrustum (bool in_state)

Controls whether geometry outside the current view frustum should be culled.

Param in_state

Whether geometry outside the current view frustum should be culled.

Return

A reference to this object.

HPS.CullingControl SetVector (bool in_state)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function does not modify the vector tolerance.

Param in_state

Whether to use vector culling.

Return

A reference to this object.

HPS.CullingControl SetVector (bool in_state, HPS.Vector in_vector)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function does not modify the vector tolerance.

Param in_state

Whether to use vector culling.

Param in_vector

The reference vector to compare the view vector to.

Return

A reference to this object.

HPS.CullingControl SetVector (bool in_state, HPS.Vector in_vector, float in_tolerance_degrees)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn.

Param in_state

Whether to use vector culling.

Param in_vector

The reference vector to compare the view vector to.

Param in_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

A reference to this object.

HPS.CullingControl SetVector (HPS.Vector in_vector)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function implicitly enables extent culling and does not modify the vector tolerance.

Param in_vector

The reference vector to compare the view vector to.

Return

A reference to this object.

HPS.CullingControl SetVector (HPS.Vector in_vector, float in_tolerance_degrees)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function implicitly enables extent culling.

Param in_vector

The reference vector to compare the view vector to.

Param in_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

A reference to this object.

HPS.CullingControl SetVectorTolerance (float in_tolerance_degrees)

Adjusts the tolerance value used in vector culling. This setting will have no effect is vector culling is not enabled.

Param in_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

A reference to this object.

HPS.CullingControl SetVolume (bool in_state)

Controls state of volume culling. When using volume culling segments whose bounding not inscribed and does not intersect the volume specified by in_volume will be culled. The points of the cuboid passed to this function need to be specified in world units.

Param in_state

Whether to use volume culling.

Return

A reference to this object.

HPS.CullingControl SetVolume (bool in_state, HPS.SimpleCuboid in_volume)

Controls state of volume culling. When using volume culling segments whose bounding not inscribed and does not intersect the volume specified by in_volume will be culled. The points of the cuboid passed to this function need to be specified in world units.

Param in_state

Whether to use volume culling.

Param in_volume

A cuboid used to describe a world-space volume.

Return

A reference to this object.

HPS.CullingControl SetVolume (HPS.SimpleCuboid in_volume)

Controls state of volume culling. When using volume culling segments whose bounding not inscribed and does not intersect the volume specified by in_volume will be culled. The points of the cuboid passed to this function need to be specified in world units.

Param in_volume

A cuboid used to describe a world-space volume.

Return

A reference to this object.

bool ShowBackFace (out bool out_state)

Shows whether faces with normals that point away from the camera should be culled.

Deprecated:

This function exists for compatibility. Use ShowFace instead.

Param out_state

Whether faces with normals that point away from the camera should be culled.

Return

true if the setting is valid, false otherwise.

bool ShowDeferralExtent (out bool out_state, out uint out_pixels)

Shows whether geometry that falls below a certain size should be deferred.

Param out_state

Whether deferral culling should be enabled.

Param out_pixels

The number of pixels below which geometry should be deferred.

Return

true if the setting is valid, false otherwise.

bool ShowDistance (out bool out_state, out float out_max_distance)

Shows the state of distance culling. When distance culling is active, geometries that lie farther away from the camera than out_max_distance will be culled.

Param out_state

Whether distance culling is being used.

Param out_max_distance

The maximum distance away from the camera before geometries are culled.

Return

true if the setting is valid, false otherwise.

bool ShowExtent (out bool out_state, out uint out_pixels)

Shows whether geometry that falls below a certain size should be culled.

Param out_state

Whether extent culling should be enabled.

Param out_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowFace (out HPS.Culling.Face out_state)

Shows if faces with normals that point away or normals that point toward the camera should be culled.

Param out_state

Whether faces with normals that point away from the camera or towards the camera should be culled.

Return

true if the setting is valid, false otherwise.

bool ShowFrustum (out bool out_state)

Shows whether geometry outside the current view frustum should be culled.

Param out_state

Whether geometry outside the current view frustum should be culled.

Return

true if the setting is valid, false otherwise.

bool ShowVector (out bool out_state, out HPS.Vector out_vector)

Shows the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn.

Param out_state

Whether to use vector culling.

Param out_vector

The reference vector to compare the view vector to.

Return

true if the setting is valid, false otherwise.

bool ShowVectorTolerance (out float out_tolerance_degrees)

Shows the tolerance value used in vector culling. This setting will have no effect is vector culling is not enabled.

Param out_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

true if the setting is valid, false otherwise.

bool ShowVolume (out bool out_state, out HPS.SimpleCuboid out_volume)

Shows the state of volume culling. When volume culling is active, segments whose bounding is not inscribed or intersecting out_volume will be culled.

Param out_state

Whether volume culling is being used.

Param out_volume

A cuboid defining a world-space volume.

Return

true if the setting is valid, false otherwise.

HPS.CullingControl UnsetBackFace ()

Removes the back face culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Deprecated:

This function exists for compatibility. Use UnsetFace instead.

Return

A reference to this object.

HPS.CullingControl UnsetDeferralExtent ()

Removes the extent culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetDistance ()

Removes the distance culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetExtent ()

Removes the extent culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetFace ()

Removes the face culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetFrustum ()

Removes the frustum culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetVector ()

Removes the vector culling setting while leaving the vector tolerance unmodified. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetVectorTolerance ()

Removes the vector culling tolerance setting only. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

HPS.CullingControl UnsetVolume ()

Removes the volume culling setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CullingKit.GetDefault().

Return

A reference to this object.

class CullingKit : public HPS.Kit

The HPS.CullingKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.CullingKit.GetDefault() will return a kit with values found in this table.

Public Functions

CullingKit ()

Initializes an empty kit.

CullingKit (HPS.CullingKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.CullingKit in_kit)

Check if the source CullingKit is equivalent to this object.

Param in_kit

The source CullingKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source CullingKit into this object.

Param in_kit

The source CullingKit to copy.

HPS.CullingKit SetBackFace (bool in_state)

Controls whether faces with normals that point away from the camera should be culled.

Deprecated:

This function exists for compatibility. Use SetFace instead.

Param in_state

Whether faces with normals that point away from the camera should be culled.

Return

A reference to this object.

HPS.CullingKit SetDeferralExtent (bool in_state, uint in_pixels)

Controls whether geometry that falls below a certain size in pixels should be culled with deferral. Deferral culling means the object is given a low-priority draw order, effectively delaying draw time until the end of the frame.

Param in_state

Whether deferral culling should be enabled.

Param in_pixels

The number of pixels below which geometry should be culled with deferral.

Return

A reference to this object.

HPS.CullingKit SetDeferralExtent (uint in_pixels)

Controls whether geometry that falls below a certain size in pixels should be culled with deferral. Deferral culling means the object is given a low-priority draw order, effectively delaying draw time until the end of the frame. This function implicitly enables deferral extent culling.

Param in_pixels

The number of pixels below which geometry should be culled with deferral.

Return

A reference to this object.

HPS.CullingKit SetDistance (bool in_state, float in_max_distance)

Controls state of distance culling. When using distance culling geometries that lie farther away from the camera than specified in in_max_distance will be culled. in_max_distance is specified in world units.

Param in_state

Whether to use distance culling.

Param in_max_distance

The maximum distance from the camera after which geometries will be culled.

Return

A reference to this object.

HPS.CullingKit SetDistance (float in_max_distance)

Controls state of distance culling. This function implicitly enables distance culling. When using distance culling geometries that lie farther away from the camera than specified in in_max_distance will be culled. in_max_distance is specified in world units.

Param in_max_distance

The maximum distance from the camera after which geometries will be culled.

Return

A reference to this object.

HPS.CullingKit SetExtent (bool in_state, uint in_pixels)

Controls whether geometry that falls below a certain size in pixels should be culled.

Param in_state

Whether extent culling should be enabled.

Param in_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

A reference to this object.

HPS.CullingKit SetExtent (uint in_pixels)

Controls whether geometry that falls below a certain size in pixels should be culled. This function implicitly enables extent culling.

Param in_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

A reference to this object.

HPS.CullingKit SetFace (HPS.Culling.Face in_state)

Controls whether faces with normals that point away from the camera or with normals that point toward should be culled.

Param in_state

Whether faces with normals that point away from the camera or with normals that point toward should be culled.

Return

A reference to this object.

HPS.CullingKit SetFrustum (bool in_state)

Controls whether geometry outside the current view frustum should be culled.

Param in_state

Whether geometry outside the current view frustum should be culled.

Return

A reference to this object.

HPS.CullingKit SetVector (bool in_state)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function does not modify the vector tolerance.

Param in_state

Whether to use vector culling.

Return

A reference to this object.

HPS.CullingKit SetVector (bool in_state, HPS.Vector in_vector)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function does not modify the vector tolerance.

Param in_state

Whether to use vector culling.

Param in_vector

The reference vector to compare the view vector to.

Return

A reference to this object.

HPS.CullingKit SetVector (bool in_state, HPS.Vector in_vector, float in_tolerance_degrees)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn.

Param in_state

Whether to use vector culling.

Param in_vector

The reference vector to compare the view vector to.

Param in_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

A reference to this object.

HPS.CullingKit SetVector (HPS.Vector in_vector)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function implicitly enables extent culling and does not modify the vector tolerance.

Param in_vector

The reference vector to compare the view vector to.

Return

A reference to this object.

HPS.CullingKit SetVector (HPS.Vector in_vector, float in_tolerance_degrees)

Controls the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn. This function implicitly enables extent culling.

Param in_vector

The reference vector to compare the view vector to.

Param in_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

A reference to this object.

HPS.CullingKit SetVectorTolerance (float in_tolerance_degrees)

Adjusts the tolerance value used in vector culling. This setting will have no effect is vector culling is not enabled.

Param in_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

A reference to this object.

HPS.CullingKit SetVolume (bool in_state)

Controls state of volume culling. When using volume culling segments whose bounding not inscribed and does not intersect the volume specified by in_volume will be culled. The points of the cuboid passed to this function need to be specified in world units.

Param in_state

Whether to use volume culling.

Return

A reference to this object.

HPS.CullingKit SetVolume (bool in_state, HPS.SimpleCuboid in_volume)

Controls state of volume culling. When using volume culling segments whose bounding not inscribed and does not intersect the volume specified by in_volume will be culled. The points of the cuboid passed to this function need to be specified in world units.

Param in_state

Whether to use volume culling.

Param in_volume

A cuboid used to describe a world-space volume.

Return

A reference to this object.

HPS.CullingKit SetVolume (HPS.SimpleCuboid in_volume)

Controls state of volume culling. When using volume culling segments whose bounding not inscribed and does not intersect the volume specified by in_volume will be culled. The points of the cuboid passed to this function need to be specified in world units.

Param in_volume

A cuboid used to describe a world-space volume.

Return

A reference to this object.

void Show (out HPS.CullingKit out_kit)

Copies all settings from this CullingKit into the given CullingKit.

Param out_kit

The CullingKit to populate with the contents of this object.

bool ShowBackFace (out bool out_state)

Shows whether faces with normals that point away from the camera should be culled.

Deprecated:

This function exists for compatibility. Use ShowFace instead.

Param out_state

Whether faces with normals that point away from the camera should be culled.

Return

true if the setting is valid, false otherwise.

bool ShowDeferralExtent (out bool out_state, out uint out_pixels)

Shows whether geometry that falls below a certain size should be culled with deferral.

Param out_state

Whether deferral culling should be enabled.

Param out_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

A reference to this object.

bool ShowDistance (out bool out_state, out float out_max_distance)

Shows the state of distance culling. When distance culling is active, geometries that lie farther away from the camera than out_max_distance will be culled.

Param out_state

Whether distance culling is being used.

Param out_max_distance

The maximum distance away from the camera before geometries are culled.

Return

true if the setting is valid, false otherwise.

bool ShowExtent (out bool out_state, out uint out_pixels)

Shows whether geometry that falls below a certain size should be culled.

Param out_state

Whether extent culling should be enabled.

Param out_pixels

The longest dimension of the screen-space projection of the bounding-volume, in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowFace (out HPS.Culling.Face out_state)

Shows whether faces with normals that point away from the camera or towards the camera should be culled.

Param out_state

Whether faces with normals that point away from the camera or towards the camera should be culled.

Return

true if the setting is valid, false otherwise.

bool ShowFrustum (out bool out_state)

Shows whether geometry outside the current view frustum should be culled.

Param out_state

Whether geometry outside the current view frustum should be culled.

Return

true if the setting is valid, false otherwise.

bool ShowVector (out bool out_state, out HPS.Vector out_vector)

Shows the state of vector culling. If the angle between the specified vector and the current view vector is less than the angle defined, then a segment with vector culling enabled will not be drawn.

Param out_state

Whether to use vector culling.

Param out_vector

The reference vector to compare the view vector to.

Return

true if the setting is valid, false otherwise.

bool ShowVectorTolerance (out float out_tolerance_degrees)

Shows the tolerance value used in vector culling. This setting will have no effect is vector culling is not enabled.

Param out_tolerance_degrees

The upper limit, in degrees, between the reference vector and the view vector.

Return

true if the setting is valid, false otherwise.

bool ShowVolume (out bool out_state, out HPS.SimpleCuboid out_volume)

Shows the state of volume culling. When volume culling is active, segments whose bounding is not inscribed or intersecting out_volume will be culled.

Param out_state

Whether volume culling is being used.

Param out_volume

A cuboid defining a world-space volume.

Return

true if the setting is valid, false otherwise.

HPS.CullingKit UnsetBackFace ()

Removes the back face culling setting.

Deprecated:

This function exists for compatibility. Use SetFace instead.

Return

A reference to this object.

HPS.CullingKit UnsetDeferralExtent ()

Removes the extent culling setting.

Return

A reference to this object.

HPS.CullingKit UnsetDistance ()

Removes the distance culling setting.

Return

A reference to this object.

HPS.CullingKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.CullingKit UnsetExtent ()

Removes the extent culling setting.

Return

A reference to this object.

HPS.CullingKit UnsetFace ()

Removes the face culling setting.

Return

A reference to this object.

HPS.CullingKit UnsetFrustum ()

Removes the frustum culling setting.

Return

A reference to this object.

HPS.CullingKit UnsetVector ()

Removes the vector culling setting while leaving the vector tolerance unmodified.

Return

A reference to this object.

HPS.CullingKit UnsetVectorTolerance ()

Removes the vector culling tolerance setting only.

Return

A reference to this object.

HPS.CullingKit UnsetVolume ()

Removes the volume culling setting.

Return

A reference to this object.

Public Static Functions

HPS.CullingKit GetDefault ()

Creates a CullingKit 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 CullingKit with the default settings.

class CurveAttributeControl : public HPS.Control

The HPS.CurveAttributeControl class is a smart pointer that is tied to a database object. This object is used to manipulate the various attributes related to curved lines, such as budget, angle, deviation, and length. This table lists default values for the various segment attributes accessible from HPS.CurveAttributeControl.

Public Functions

CurveAttributeControl (HPS.CurveAttributeControl in_that)

Initializes a control tied to the same object as in_that.

CurveAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.CurveAttributeControl SetBudget (ulong in_budget)

Sets the upper boundary of the number of vertices that will be allowed in the tessellation of curves, regardless of view settings.

Param in_budget

The number of vertices that will be allowed in the tessellation of curves.

Return

A reference to this object.

HPS.CurveAttributeControl SetContinuedBudget (bool in_state)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point.

Param in_state

Whether the continued budget will be used at all.

Return

A reference to this object.

HPS.CurveAttributeControl SetContinuedBudget (bool in_state, ulong in_budget)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point.

Param in_state

Whether the continued budget will be used at all.

Param in_budget

The number of additional vertices that will be allocated to the overall curve.

Return

A reference to this object.

HPS.CurveAttributeControl SetContinuedBudget (ulong in_budget)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point. The state is implicitly on.

Param in_budget

The number of additional vertices that will be allocated to the overall curve.

Return

A reference to this object.

HPS.CurveAttributeControl SetMaximumAngle (float in_degrees)

Sets the largest angle allowed, in degrees, between adjacent line segments in the tessellated representation. Applies to view-independent curves only.

Param in_degrees

The largest angle allowed between adjacent line segments.

Return

A reference to this object.

HPS.CurveAttributeControl SetMaximumDeviation (float in_deviation)

Sets the distance in object space from the parametric definition of the curve to its tessellated counterpart.

Param in_deviation

The distance in object space from the parametric definition.

Return

A reference to this object.

HPS.CurveAttributeControl SetMaximumLength (float in_length)

Sets the largest allowable length, in the curve’s normalized [0,1] parametric space, of any line segment. Applies to view-independent curves only.

Param in_length

The largest allowable length of any line segment.

Return

A reference to this object.

HPS.CurveAttributeControl SetViewDependent (bool in_state)

Sets whether curves should be rendered in a view-dependent or view-independent manner. The tessellation of view-dependent curves is adjusted to maintain a smooth curve with the current camera setting. View-independent curves are statically tessellated based on the curve attribute settings. View-independent is less computationally intensive but can result in curves that do not look smooth with certain camera settings.

Param in_state

Whether curves should be rendered in a view-dependent manner.

Return

A reference to this object.

bool ShowBudget (out ulong out_budget)

Shows the upper boundary of the number of vertices that will be allowed in the tessellation of curves, regardless of view settings.

Param out_budget

The number of vertices that will be allowed in the tessellation of curves.

Return

true if the setting is valid, false otherwise.

bool ShowContinuedBudget (out bool out_state, out ulong out_budget)

Shows the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one.

Param out_state

Whether the continued budget will be used at all.

Param out_budget

The number of additional vertices that will be allocated to the overall curve.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumAngle (out float out_degrees)

Shows the largest angle allowed, in degrees, between adjacent line segments in the tessellated representation. Applies to view-independent curves only.

Param out_degrees

The largest angle allowed between adjacent line segments.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumDeviation (out float out_deviation)

Shows the distance in object space from the parametric definition of the curve to its tessellated counterpart. Applies to view-independent curves only.

Param out_deviation

The distance in object space from the parametric definition.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumLength (out float out_length)

Shows the largest allowable length, in the curve’s normalized [0,1] parametric space, of any line segment. Applies to view-independent curves only.

Param out_length

The largest allowable length of any line segment.

Return

true if the setting is valid, false otherwise.

bool ShowViewDependent (out bool out_state)

Shows whether curves should be rendered in a view-dependent or view-independent manner.

Param out_state

Whether curves should be rendered in a view-dependent manner.

Return

true if the setting is valid, false otherwise.

HPS.CurveAttributeControl UnsetBudget ()

Removes the budget setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetContinuedBudget ()

Removes the continued budget setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetMaximumAngle ()

Removes the maximum angle setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetMaximumDeviation ()

Removes the maximum deviation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetMaximumLength ()

Removes the maximum length setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetViewDependent ()

Removes the view-dependent setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

class CurveAttributeKit : public HPS.Kit

The HPS.CurveAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.CurveAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

CurveAttributeKit ()

Initializes an empty kit.

CurveAttributeKit (HPS.CurveAttributeKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.CurveAttributeKit in_kit)

Check if the source CurveAttributeKit is equivalent to this object.

Param in_kit

The source CurveAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source CurveAttributeKit into this object.

Param in_kit

The source CurveAttributeKit to copy.

HPS.CurveAttributeKit SetContinuedBudget (bool in_state)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point.

Param in_state

Whether the continued budget will be used at all.

Return

A reference to this object.

HPS.CurveAttributeKit SetContinuedBudget (bool in_state, ulong in_budget)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point.

Param in_state

Whether the continued budget will be used at all.

Param in_budget

The number of additional vertices that will be allocated to the overall curve.

Return

A reference to this object.

HPS.CurveAttributeKit SetContinuedBudget (ulong in_budget)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point. The state is implicitly on.

Param in_budget

The number of additional vertices that will be allocated to the overall curve.

Return

A reference to this object.

HPS.CurveAttributeKit SetMaximumAngle (float in_degrees)

Sets the largest angle allowed, in degrees, between adjacent line segments in the tessellated representation. Applies to view-independent curves only.

Param in_degrees

The largest angle allowed between adjacent line segments.

Return

A reference to this object.

HPS.CurveAttributeKit SetMaximumDeviation (float in_deviation)

Sets the distance in object space from the parametric definition of the curve to its tessellated counterpart.

Param in_deviation

The distance in object space from the parametric definition.

Return

A reference to this object.

HPS.CurveAttributeKit SetMaximumLength (float in_length)

Sets the largest allowable length, in the curve’s normalized [0,1] parametric space, of any line segment. Applies to view-independent curves only.

Param in_length

The largest allowable length of any line segment.

Return

A reference to this object.

HPS.CurveAttributeKit SetViewDependent (bool in_state)

Sets whether curves should be rendered in a view-dependent or view-independent manner. The tessellation of view-dependent curves is adjusted to maintain a smooth curve with the current camera setting. View-independent curves are statically tessellated based on the curve attribute settings. View-independent is less computationally intensive but can result in curves that do not look smooth with certain camera settings.

Param in_state

Whether curves should be rendered in a view-dependent manner.

Return

A reference to this object.

void Show (out HPS.CurveAttributeKit out_kit)

Copies all settings from this CurveAttributeKit into the given CurveAttributeKit.

Param out_kit

The CurveAttributeKit to populate with the contents of this object.

bool ShowBudget (out ulong out_budget)

Shows the upper boundary of the number of vertices that will be allowed in the tessellation of curves, regardless of view settings.

Param out_budget

The number of vertices that will be allowed in the tessellation of curves.

Return

true if the setting is valid, false otherwise.

bool ShowContinuedBudget (out bool out_state, out ulong out_budget)

Shows the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one.

Param out_state

Whether the continued budget will be used at all.

Param out_budget

The number of additional vertices that will be allocated to the overall curve.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumAngle (out float out_degrees)

Shows the largest angle allowed, in degrees, between adjacent line segments in the tessellated representation. Applies to view-independent curves only.

Param out_degrees

The largest angle allowed between adjacent line segments.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumDeviation (out float out_deviation)

Shows the distance in object space from the parametric definition of the curve to its tessellated counterpart. Applies to view-independent curves only.

Param out_deviation

The distance in object space from the parametric definition.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumLength (out float out_length)

Shows the largest allowable length, in the curve’s normalized [0,1] parametric space, of any line segment. Applies to view-independent curves only.

Param out_length

The largest allowable length of any line segment.

Return

true if the setting is valid, false otherwise.

bool ShowViewDependent (out bool out_state)

Shows whether curves should be rendered in a view-dependent or view-independent manner.

Param out_state

Whether curves should be rendered in a view-dependent manner.

Return

true if the setting is valid, false otherwise.

HPS.CurveAttributeKit UnsetBudget ()

Removes the budget setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetContinuedBudget ()

Removes the continued budget setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetMaximumAngle ()

Removes the maximum angle setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetMaximumDeviation ()

Removes the maximum deviation setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetMaximumLength ()

Removes the maximum length setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetViewDependent ()

Removes the view-dependent setting.

Return

A reference to this object.

Public Static Functions

HPS.CurveAttributeKit GetDefault ()

Creates a CurveAttributeKit 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 CurveAttributeKit with the default settings.

class CutGeometryGatheringOptionsKit : public HPS.Kit

Public Functions

CutGeometryGatheringOptionsKit ()

The default constructor creates an empty CutGeometryGatheringOptionsKit object.

CutGeometryGatheringOptionsKit (HPS.CutGeometryGatheringOptionsKit in_kit)

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

Param in_kit

The source CutGeometryGatheringOptionsKit to copy.

override bool Empty ()

Indicates whether this CutGeometryGatheringOptionsKit has any values set on it.

Return

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

bool Equals (HPS.CutGeometryGatheringOptionsKit in_kit)

Check if the source CutGeometryGatheringOptionsKit is equivalent to this CutGeometryGatheringOptionsKit.

Param in_kit

The source CutGeometryGatheringOptionsKit to compare to this CutGeometryGatheringOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source CutGeometryGatheringOptionsKit into this CutGeometryGatheringOptionsKit.

Param in_kit

The source CutGeometryGatheringOptionsKit to copy.

HPS.CutGeometryGatheringOptionsKit SetColor (bool in_color)

Sets whether the implicit color is collected with the capping geometry.

Param in_color

Whether the color is collected.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit SetCuttingSection (HPS.CuttingSectionKey in_cutter)

Sets a single cutting section for which to collect capping geometry. If this is not specified, caps for all cutting sections will be collected.

Param in_cutter

A single cutting section that is interesting for capping geometry collection.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit SetLevel (HPS.CuttingSection.GatheringLevel in_level)

Sets the level at which to collect the capping geometry.

Param in_level

Whether the capping geometry should be collected from just a single segment or an entire subtree.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit SetOffset (ulong in_offset)

If a single cutting section is specified, this sets the plane offset into that section. If this is not set, all planes in that section will be collected.

Param in_offset

An offset for a single plane in a cutting section.

Return

A reference to this CutGeometryGatheringOptionsKit.

void Show (out HPS.CutGeometryGatheringOptionsKit out_kit)

Copies this CutGeometryGatheringOptionsKit into the given CutGeometryGatheringOptionsKit.

Param out_kit

The CutGeometryGatheringOptionsKit to populate with the contents of this CutGeometryGatheringOptionsKit.

bool ShowColor (out bool out_color)

Shows the color gathering preference whe collecting capping geometry.

Param out_color

Whether the implicit color of the capping geometry should be collected along with the geometry.

Return

true if a color gathering preference was set, false otherwise.

bool ShowCuttingSection (out HPS.CuttingSectionKey out_cutter)

Shows a cutting section that is interesting for capping geometry collection.

Param out_cutter

A cutting section that is interesting for capping geometry collection.

Return

true if a cutting section was set, false otherwise.

bool ShowLevel (out HPS.CuttingSection.GatheringLevel out_level)

Shows the level at which to collect the capping geometry.

Param out_level

Whether the capping geometry should be collected from just a single segment or an entire subtree.

Return

true if a level was set, false otherwise.

bool ShowOffset (out ulong out_offset)

Shows an offset for a single plane in a cutting section.

Param out_offset

An offset for a single plane in a cutting section.

Return

true if an offset was set, false otherwise.

HPS.CutGeometryGatheringOptionsKit UnsetColor ()

Removes the color setting when collecting the capping geometry.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit UnsetCuttingSection ()

Removes a single cutting section for which to collect capping geometry.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit UnsetEverything ()

Removes all settings from this CutGeometryGatheringOptionsKit.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit UnsetLevel ()

Removes the level setting at which to collect the capping geometry.

Return

A reference to this CutGeometryGatheringOptionsKit.

HPS.CutGeometryGatheringOptionsKit UnsetOffset ()

Removes an offset for a single plane in a cutting section.

Return

A reference to this CutGeometryGatheringOptionsKit.

Public Static Functions

HPS.CutGeometryGatheringOptionsKit GetDefault ()

Creates a CutGeometryGatheringOptionsKit 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 CutGeometryGatheringOptionsKit with the default settings.

class CuttingSection : public IDisposable

The CuttingSection class is a concept class for cutting-section-related enum classes.

Public Types

enum CappingLevel

Enumerates the level at which capping geometry should be generated for cutting sections.

Values:

Entity

Each piece of geometry should be treated as if it encloses a volume.

Segment

All geometry in a segment (but not subsegments) should be treated as if it encloses a single volume.

SegmentTree

All geometry in a segment tree should be treated as if it encloses a single volume.

enum CappingUsage

Enumerates the choices for whether geometry (faces) are cut and processed for capping geometry.

Values:

Off

Faces will not be used for capping.

On

Faces will be used for capping generation.

Visibility

Faces will be used for capping generation if they are visible.

enum CuttingLevel

Enumerates the level at which cutting planes should operate.

Values:

Global

Cutting sections will cut all geometry in the scene graph.

Local

Cutting sections will only cut geometry contained in the segment and subsegments where the cutting section is inserted.

enum GatheringLevel

Enumerates the level at which capping geometry should be gathered.

Values:

Segment

Capping geometry will be gathered only from a single segment.

SegmentTree

Capping geometry will be gathered from the segment and all its subsegments and includes.

enum MaterialPreference

Enumerates which material settings should be used for cut geometry generated for cutting sections.

Values:

Explicit

Use the effective materials set for cut faces and cut edges in the segment tree. For example, the following function applies color settings that would be respected when MaterialPreference is set to Explicit: mySegmentKey.GetMaterialMappingControl().SetCutFaceColor(myRGBAColor).SetCutEdgeColor(myRGBAColor)

Implicit

Use the effective materials set for (regular) faces and (regular) edges in the segment tree. For Segment or SegmentTree CappingLevel, the implicit capping geometry face color will be the weighted average of the geometry face colors where the cut is applied. For example, the following function applies color settings that would be respected when MaterialPreference is set to Implicit: mySegmentKey.GetMaterialMappingControl().SetFaceColor(myRGBAColor).SetEdgeColor(myRGBAColor)

enum Mode

Enumerates the modes for cutting sections. These are the shapes (if any) of the visualization geometry that will be drawn to represent cutting planes within cutting sections.

Values:

None

No visualization geometry will be drawn for cutting planes in a cutting sections.

Round

A circular plane will be drawn for cutting planes in a cutting section. The size of the planes will be based on the size of the geometry being cut and the visualization scale.

Square

A square plane will be drawn for cutting planes in a cutting section. The size of the planes will be based on the size of the geometry being cut and the visualization scale.

Plane

An infinitely large plane will be drawn for cutting planes in a cutting section.

enum ToleranceUnits

Enumerates the how tolerance should be interpreted.

Values:

Percent

Tolerance specified is interpreted as a percentage of current view (camera field).

WorldSpace

Tolerance specified is interpreted in world space.

class CuttingSectionAttributeControl : public HPS.Control

The HPS.CuttingSectionAttributeControl class is a smart pointer that is tied to a database object. This object is used to manipulate the various cutting section attributes. This table lists default values for the various segment attributes accessible from HPS.CuttingSectionAttributeControl.

Public Functions

CuttingSectionAttributeControl (HPS.CuttingSectionAttributeControl in_that)

Initializes a control tied to the same object as in_that.

CuttingSectionAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.CuttingSectionAttributeControl SetCappingLevel (HPS.CuttingSection.CappingLevel in_level)

Sets the cutting section capping level.

Param in_level

The cutting section capping level.

Return

A reference to this object.

HPS.CuttingSectionAttributeControl SetCappingUsage (HPS.CuttingSection.CappingUsage in_usage)

Sets the cutting section capping usage.

Param in_usage

The cutting section capping usage.

Return

A reference to this object.

HPS.CuttingSectionAttributeControl SetCuttingLevel (HPS.CuttingSection.CuttingLevel in_level)

Sets the cutting section cutting level.

Param in_level

The cutting section cutting level.

Return

A reference to this object.

HPS.CuttingSectionAttributeControl SetEdgeWeight (float in_weight)

Sets the cut edge weight.

Param in_weight

The edge weight to apply for cut edges.

Return

A reference to this object.

HPS.CuttingSectionAttributeControl SetEdgeWeight (float in_weight, HPS.Line.SizeUnits in_units)

Sets the cut edge weight.

Param in_weight

The edge weight to apply for cut edges.

Param in_units

The units of the weight given.

Return

A reference to this object.

HPS.CuttingSectionAttributeControl SetMaterialPreference (HPS.CuttingSection.MaterialPreference in_preference)

Sets the material preference for cut geometry.

Param in_preference

The material preference for cut geometry.

Return

A reference to this object.

HPS.CuttingSectionAttributeControl SetTolerance (float in_tolerance, HPS.CuttingSection.ToleranceUnits in_units)

Sets the tolerance for closing loops when processing capping faces.

Param in_tolerance

The tolerance to use.

Param in_units

How to interpret the given tolerance.

Return

A reference to this object.

bool ShowCappingLevel (out HPS.CuttingSection.CappingLevel out_level)

Shows the cutting section capping level setting.

Param out_level

The cutting section capping level.

Return

true if a cutting section capping level setting was specified, false otherwise.

bool ShowCappingUsage (out HPS.CuttingSection.CappingUsage out_usage)

Shows the cutting section capping usage setting.

Return

true if a cutting section capping usage setting was specified, false otherwise.

bool ShowCuttingLevel (out HPS.CuttingSection.CuttingLevel out_level)

Shows the cutting section cutting level setting.

Param out_level

The cutting section cutting level.

Return

true if a cutting section cutting level setting was specified, false otherwise.

bool ShowEdgeWeight (out float out_weight, out HPS.Line.SizeUnits out_units)

Shows the weight of cut edges.

Param out_weight

The weight value for cut edges.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

bool ShowMaterialPreference (out HPS.CuttingSection.MaterialPreference out_preference)

Shows the orientation of colors and radii of cylinders.

Param out_preference

The material preference for cut geometry.

Return

true if a material preference for cut geometry was specified, false otherwise.

bool ShowTolerance (out float out_tolerance, out HPS.CuttingSection.ToleranceUnits out_units)

Shows the tolerance for closing loops when processing capping faces.

Param out_tolerance

The tolerance to use.

Param out_units

The units for the tolerance.

Return

true if the setting is valid, false otherwise.

HPS.CuttingSectionAttributeControl UnsetCappingLevel ()

Removes the cutting section capping level setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CuttingSectionAttributeControl UnsetCappingUsage ()

Removes the cutting section capping usage setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CuttingSectionAttributeControl UnsetCuttingLevel ()

Removes the cutting section cutting level setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CuttingSectionAttributeControl UnsetEdgeWeight ()

Removes the cutting section cut edge weight setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CuttingSectionAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CuttingSectionAttributeControl UnsetMaterialPreference ()

Removes the material preference for cut geometry setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CuttingSectionAttributeControl UnsetTolerance ()

Removes the cutting section capping tolerance setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CuttingSectionAttributeKit.GetDefault().

Return

A reference to this object.

class CuttingSectionAttributeKit : public HPS.Kit

The HPS.CuttingSectionAttributeKit class is a user space object which encapsulates a set of attributes pertaining to cutting sections. Calling HPS.CuttingSectionAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

CuttingSectionAttributeKit ()

Initializes an empty kit.

CuttingSectionAttributeKit (HPS.CuttingSectionAttributeKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.CuttingSectionAttributeKit in_kit)

Check if the source CuttingSectionAttributeKit is equivalent to this object.

Param in_kit

The source CuttingSectionAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source CuttingSectionAttributeKit into this object.

Param in_kit

The source CuttingSectionAttributeKit to copy.

HPS.CuttingSectionAttributeKit SetCappingLevel (HPS.CuttingSection.CappingLevel in_level)

Sets the cutting section capping level.

Param in_level

The cutting section capping level.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit SetCappingUsage (HPS.CuttingSection.CappingUsage in_usage)

Sets the cutting section capping usage.

Param in_usage

The cutting section capping usage.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit SetCuttingLevel (HPS.CuttingSection.CuttingLevel in_level)

Sets the cutting section cutting level.

Param in_level

The cutting section cutting level.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit SetEdgeWeight (float in_weight)

Sets the cut edge weight.

Param in_weight

The edge weight to apply for cut edges.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit SetEdgeWeight (float in_weight, HPS.Line.SizeUnits in_units)

Sets the cut edge weight.

Param in_weight

The edge weight to apply for cut edges.

Param in_units

The units of the weight given.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit SetMaterialPreference (HPS.CuttingSection.MaterialPreference in_preference)

Sets the material preference for cut geometry.

Param in_preference

The material preference for cut geometry.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit SetTolerance (float in_tolerance, HPS.CuttingSection.ToleranceUnits in_units)

Sets the tolerance for closing loops when processing capping faces.

Param in_tolerance

The tolerance to use.

Param in_units

How to interpret the given tolerance.

Return

A reference to this object.

void Show (out HPS.CuttingSectionAttributeKit out_kit)

Copies all settings from this CuttingSectionAttributeKit into the given CuttingSectionAttributeKit.

Param out_kit

The CuttingSectionAttributeKit to populate with the contents of this object.

bool ShowCappingLevel (out HPS.CuttingSection.CappingLevel out_level)

Shows the cutting section capping level setting.

Param out_level

The cutting section capping level.

Return

true if a cutting section capping level setting was specified, false otherwise.

bool ShowCappingUsage (out HPS.CuttingSection.CappingUsage out_usage)

Shows the cutting section capping usage setting.

Return

true if a cutting section capping usage setting was specified, false otherwise.

bool ShowCuttingLevel (out HPS.CuttingSection.CuttingLevel out_level)

Shows the cutting section cutting level setting.

Param out_level

The cutting section cutting level.

Return

true if a cutting section cutting level setting was specified, false otherwise.

bool ShowEdgeWeight (out float out_weight, out HPS.Line.SizeUnits out_units)

Shows the weight of cut edges.

Param out_weight

The weight value for cut edges.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

bool ShowMaterialPreference (out HPS.CuttingSection.MaterialPreference out_preference)

Shows the orientation of colors and radii of cylinders.

Param out_preference

The material preference for cut geometry.

Return

true if a material preference for cut geometry was specified, false otherwise.

bool ShowTolerance (out float out_tolerance, out HPS.CuttingSection.ToleranceUnits out_units)

Shows the tolerance for closing loops when processing capping faces.

Param out_tolerance

The tolerance to use.

Param out_units

The units for the tolerance.

Return

true if the setting is valid, false otherwise.

HPS.CuttingSectionAttributeKit UnsetCappingLevel ()

Removes the cutting section capping level setting.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit UnsetCappingUsage ()

Removes the cutting section capping usage setting.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit UnsetCuttingLevel ()

Removes the cutting section cutting level setting.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit UnsetEdgeWeight ()

Removes the cutting section cut edge weight setting.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit UnsetMaterialPreference ()

Removes the material preference for cut geometry setting.

Return

A reference to this object.

HPS.CuttingSectionAttributeKit UnsetTolerance ()

Removes the cutting section capping tolerance setting.

Return

A reference to this object.

Public Static Functions

HPS.CuttingSectionAttributeKit GetDefault ()

Creates a CuttingSectionAttributeKit 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 CuttingSectionAttributeKit with the default settings.

class CuttingSectionKey : public HPS.GeometryKey

The CuttingSectionKey class is a smart pointer to a database object. It is a handle to a cutting section inserted via SegmentKey.InsertCuttingSection.

Public Functions

void Consume (HPS.CuttingSectionKit in_kit)

Completely replaces all settings on this CuttingSectionKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this CuttingSectionKey.

CuttingSectionKey ()

The default constructor creates an uninitialized CuttingSectionKey object. The Type() function will return Type.None.

CuttingSectionKey (HPS.CuttingSectionKey in_that)

The copy constructor creates a CuttingSectionKey object that shares the underlying smart-pointer of the source CuttingSectionKey.

Param in_that

The source CuttingSectionKey to copy.

CuttingSectionKey (HPS.Key in_that)

This constructor creates a CuttingSectionKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a CuttingSection key. Otherwise the copy will fail and the resulting CuttingSectionKey will be invalid.

Param in_that

The source Key to copy.

HPS.CuttingSectionKey EditPlanesByDeletion (ulong in_offset, ulong in_count)

Removes planes from the cutting plane list for this CuttingSectionKey.

Param in_offset

The offset into the cutting planes for this CuttingSectionKey at which to start removing planes. This value must be such that in_offset<cutting_plane_count for deletion to succeed.

Param in_count

The number of planes to remove from the cutting plane list for this CuttingSectionKey. This value must be such that in_offset+in_count<=cutting_plane_count for the deletion to succeed.

Return

A reference to this CuttingSectionKey.

HPS.CuttingSectionKey EditPlanesByInsertion (ulong in_offset, HPS.Plane[] in_planes)

Adds cutting planes to this CuttingSectionKey.

Param in_offset

The offset into the cutting plane list for the CuttingSectionKey at which to insert planes. This value must be such that in_offset<cutting_plane_count for insertion to succeed.

Param in_planes

The planes to insert into the cutting plane list at the specified offset.

Return

A reference to this CuttingSectionKey.

HPS.CuttingSectionKey EditPlanesByReplacement (ulong in_offset, HPS.Plane[] in_planes)

Replaces planes in the cutting plane list for this CuttingSectionKey.

Param in_offset

The offset into the cutting plane list for this CuttingSectionKey at which to start replacing planes. This value must be such that in_offset < cutting_plane_count for replacement to succeed.

Param in_planes

The planes to use to replace those in the cutting plane list at the specified offset. The size of this array must be such that in_offset+in_planes.size()<=cutting_plane_count for the replacement to succeed.

Return

A reference to this CuttingSectionKey.

ulong GetPlaneCount ()

Gets the number of cutting planes for this CuttingSectionKey.

Return

The number of cutting planes for this CuttingSectionKey.

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

Replace those settings on this CuttingSectionKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this CuttingSectionKey.

HPS.CuttingSectionKey SetPlanes (HPS.Plane in_plane)

Sets a single cutting plane for this CuttingSectionKey.

Param in_plane

The cutting plane for this CuttingSectionKey.

Return

A reference to this CuttingSectionKey.

HPS.CuttingSectionKey SetPlanes (HPS.Plane[] in_planes)

Sets multiple cutting planes for this CuttingSectionKey.

Param in_planes

The cutting planes for this CuttingSectionKey.

Return

A reference to this CuttingSectionKey.

HPS.CuttingSectionKey SetVisualization (HPS.CuttingSection.Mode in_mode, HPS.RGBAColor in_color)

Sets visualization to use for this CuttingSectionKey.

Param in_mode

The mode for the CuttingSectionKey.

Param in_color

The RGBA color for the CuttingSectionKey.

Return

A reference to this CuttingSectionKey.

HPS.CuttingSectionKey SetVisualization (HPS.CuttingSection.Mode in_mode, HPS.RGBAColor in_color, float in_scale)

Sets visualization to use for this CuttingSectionKey.

Param in_mode

The mode for the CuttingSectionKey.

Param in_color

The RGBA color for the CuttingSectionKey.

Param in_scale

The scale to apply to the visualization geometry for this CuttingSectionKey. Defaults to 1.0f.

Return

A reference to this CuttingSectionKey.

void Show (out HPS.CuttingSectionKit out_kit)

Copy the contents of this CuttingSectionKey into the specified kit.

Param out_kit

The kit to populate with the contents of this CuttingSectionKey.

bool ShowPlanes (out HPS.Plane[] out_planes)

Shows the cutting planes for this CuttingSectionKey.

Param out_planes

The cutting planes for this CuttingSectionKey.

Return

true if any cutting planes were set, false otherwise.

bool ShowVisualization (out HPS.CuttingSection.Mode out_mode, out HPS.RGBAColor out_color, out float out_scale)

Shows the visualization to use for this CuttingSectionKey.

Param out_mode

The mode for this CuttingSectionKey.

Param out_color

The RGBA color for this CuttingSectionKey.

Param out_scale

The scale to apply to the visualization geometry for this CuttingSectionKey.

Return

true if visualization options were set, false otherwise.

class CuttingSectionKit : public HPS.Kit

The CuttingSectionKit class is a user space object. It is a kit analog to a CuttingSectionKey.

Public Functions

void Consume (HPS.CuttingSectionKit in_kit)

Copies the source CuttingSectionKit into this CuttingSectionKit and resets the source kit.

Param in_kit

The source CuttingSectionKit to consume.

CuttingSectionKit ()

The default constructor creates an empty CuttingSectionKit object.

CuttingSectionKit (HPS.CuttingSectionKit in_kit)

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

Param in_kit

The source CuttingSectionKit to copy.

HPS.CuttingSectionKit EditPlanesByDeletion (ulong in_offset, ulong in_count)

Removes planes from the cutting plane list for this CuttingSectionKit.

Param in_offset

The offset into the cutting planes for this CuttingSectionKit at which to start removing planes. This value must be such that in_offset<cutting_plane_count for deletion to succeed.

Param in_count

The number of planes to remove from the cutting plane list for this CuttingSectionKit. This value must be such that in_offset+in_count<=cutting_plane_count for the deletion to succeed.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit EditPlanesByInsertion (ulong in_offset, HPS.Plane[] in_planes)

Adds cutting planes to this CuttingSectionKit.

Param in_offset

The offset into the cutting plane list for the CuttingSectionKit at which to insert planes. This value must be such that in_offset<cutting_plane_count for insertion to succeed.

Param in_planes

The planes to insert into the cutting plane list at the specified offset.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit EditPlanesByReplacement (ulong in_offset, HPS.Plane[] in_planes)

Replaces planes in the cutting plane list for this CuttingSectionKit.

Param in_offset

The offset into the cutting plane list for this CuttingSectionKit at which to start replacing planes. This value must be such that in_offset<cutting_plane_count for replacement to succeed.

Param in_planes

The planes to use to replace those in the cutting plane list at the specified offset. The size of this array must be such that in_offset+in_planes.size()<=cutting_plane_count for the replacement to succeed.

Return

A reference to this CuttingSectionKit.

override bool Empty ()

Indicates whether this CuttingSectionKit has any values set on it.

Return

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

bool Equals (HPS.CuttingSectionKit in_kit)

Check if the source CuttingSectionKit is equivalent to this CuttingSectionKit.

Param in_kit

The source CuttingSectionKit to compare to this CuttingSectionKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPlaneCount ()

Gets the number of cutting planes for this CuttingSectionKit.

Return

The number of cutting planes for this CuttingSectionKit.

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

Copies the source CuttingSectionKit into this CuttingSectionKit.

Param in_kit

The source CuttingSectionKit to copy.

HPS.CuttingSectionKit SetPlanes (HPS.Plane in_plane)

Sets a single cutting plane for this CuttingSectionKit.

Param in_plane

The cutting plane for this CuttingSectionKit.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit SetPlanes (HPS.Plane[] in_planes)

Sets multiple cutting planes for this CuttingSectionKit.

Param in_planes

The cutting planes for this CuttingSectionKit.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the CuttingSectionKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.CuttingSectionKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.CuttingSectionKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.CuttingSectionKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

HPS.CuttingSectionKit SetVisualization (HPS.CuttingSection.Mode in_mode, HPS.RGBAColor in_color)

Sets visualization to use for this CuttingSectionKit.

Param in_mode

The mode for the CuttingSectionKit.

Param in_color

The RGBA color for the CuttingSectionKit.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit SetVisualization (HPS.CuttingSection.Mode in_mode, HPS.RGBAColor in_color, float in_scale)

Sets visualization to use for this CuttingSectionKit.

Param in_mode

The mode for the CuttingSectionKit.

Param in_color

The RGBA color for the CuttingSectionKit.

Param in_scale

The scale to apply to the visualization geometry for this CuttingSectionKit. Defaults to 1.0f.

Return

A reference to this CuttingSectionKit.

void Show (out HPS.CuttingSectionKit out_kit)

Copies this CuttingSectionKit into the given CuttingSectionKit.

Param out_kit

The CuttingSectionKit to populate with the contents of this CuttingSectionKit.

bool ShowPlanes (out HPS.Plane[] out_planes)

Shows the cutting planes for this CuttingSectionKit.

Param out_planes

The cutting planes for this CuttingSectionKit.

Return

true if any cutting planes were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

bool ShowVisualization (out HPS.CuttingSection.Mode out_mode, out HPS.RGBAColor out_color, out float out_scale)

Shows the visualization to use for this CuttingSectionKit.

Param out_mode

The mode for this CuttingSectionKit.

Param out_color

The RGBA color for this CuttingSectionKit.

Param out_scale

The scale to apply to the visualization geometry for this CuttingSectionKit.

Return

true if visualization options were set, false otherwise.

HPS.CuttingSectionKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.CuttingSectionKit UnsetEverything ()

Removes all settings from the CuttingSectionKit.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit UnsetPlanes ()

Removes the cutting planes for this CuttingSectionKit.

Return

A reference to this CuttingSectionKit.

HPS.CuttingSectionKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.CuttingSectionKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.CuttingSectionKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

HPS.CuttingSectionKit UnsetVisualization ()

Removes the visualization settings for this CuttingSectionKit.

Return

A reference to this CuttingSectionKit.

class Cylinder : public IDisposable

The Cylinder class is a concept class for cylinder-related enum classes.

Public Types

enum Capping

Enumerates the type of capping geometry to use for cylinders.

Values:

None

Neither cylinder end will be capped.

First

Only the first cylinder end will be capped.

Last

Only the second cylinder end will be capped.

Both

Both cylinder ends will be capped.

enum Component

Enumerates the cylinder components vertex colors can be applied to.

Values:

Faces

The vertex colors applied to faces.

Edges

The vertex colors applied to edges.

enum Orientation

Allows reversing of cylinder colors, radii, or both

Values:

Default

Cylinder Orientation.

DefaultRadii

Cylinder Orientation.

InvertRadii

Cylinder Orientation.

InvertRadiiOnly

Cylinder Orientation.

DefaultColors

Cylinder Orientation.

InvertColors

Cylinder Orientation.

InvertColorsOnly

Cylinder Orientation.

InvertAll

Cylinder Orientation.

class CylinderAttributeControl : public HPS.Control

The HPS.CylinderAttributeControl class is a smart pointer that is tied to a database object. This object is used to manipulate the various cylinder attributes, such as orientation and tessellation. This table lists default values for the various segment attributes accessible from HPS.CylinderAttributeControl.

Public Functions

CylinderAttributeControl (HPS.CylinderAttributeControl in_that)

Initializes a control tied to the same object as in_that.

CylinderAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.CylinderAttributeControl SetOrientation (HPS.Cylinder.Orientation in_orientation)

Sets the orientation of colors and radii of cylinders. This can be used to invert the order of the radii and/or colors of all cylinders in a segment without editing each one.

Param in_orientation

The orientation of colors and radii of cylinders.

Return

A reference to this object.

HPS.CylinderAttributeControl SetTessellation (ulong in_facets)

Sets the number of faces that should be generated around cylinders.

Param in_facets

the number of faces that should be generated around cylinders.

Return

A reference to this object.

bool ShowOrientation (out HPS.Cylinder.Orientation out_adjust)

Shows the orientation of colors and radii of cylinders.

Return

true if the setting is valid, false otherwise.

bool ShowTessellation (out ulong out_facets)

Shows the number of faces that should be generated around cylinders.

Param out_facets

Whether text should be bold.

Return

true if the setting is valid, false otherwise.

HPS.CylinderAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CylinderAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CylinderAttributeControl UnsetOrientation ()

Removes the cylinder orientation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CylinderAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CylinderAttributeControl UnsetTessellation ()

Removes the cylinder tessellation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CylinderAttributeKit.GetDefault().

Return

A reference to this object.

class CylinderAttributeKit : public HPS.Kit

The HPS.CylinderAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.CylinderAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

CylinderAttributeKit ()

Initializes an empty kit.

CylinderAttributeKit (HPS.CylinderAttributeKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.CylinderAttributeKit in_kit)

Check if the source CylinderAttributeKit is equivalent to this object.

Param in_kit

The source CylinderAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source CylinderAttributeKit into this object.

Param in_kit

The source CylinderAttributeKit to copy.

HPS.CylinderAttributeKit SetOrientation (HPS.Cylinder.Orientation in_adjust)

Sets the orientation of colors and radii of cylinders. This can be used to invert the order of the radii and/or colors of all cylinders in a segment without editing each one.

Return

A reference to this object.

HPS.CylinderAttributeKit SetTessellation (ulong in_facets)

Sets the number of faces that should be generated around cylinders.

Param in_facets

the number of faces that should be generated around cylinders.

Return

A reference to this object.

void Show (out HPS.CylinderAttributeKit out_kit)

Copies all settings from this CylinderAttributeKit into the given CylinderAttributeKit.

Param out_kit

The CylinderAttributeKit to populate with the contents of this object.

bool ShowOrientation (out HPS.Cylinder.Orientation out_orientation)

Shows the orientation of colors and radii of cylinders.

Param out_orientation

The orientation of colors and radii of cylinders.

Return

true if the setting is valid, false otherwise.

bool ShowTessellation (out ulong out_facets)

Shows the number of faces that should be generated around cylinders.

Param out_facets

The number of faces that should be generated around cylinders

Return

true if the setting is valid, false otherwise.

HPS.CylinderAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.CylinderAttributeKit UnsetOrientation ()

Removes the cylinder orientation setting.

Return

A reference to this object.

HPS.CylinderAttributeKit UnsetTessellation ()

Removes the cylinder tessellation setting.

Return

A reference to this object.

Public Static Functions

HPS.CylinderAttributeKit GetDefault ()

Creates a CylinderAttributeKit 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 CylinderAttributeKit with the default settings.

class CylinderKey : public HPS.GeometryKey

The CylinderKey class is a smart pointer to a database object. It is a handle to a cylinder inserted via SegmentKey.InsertCylinder.

Public Functions

void Consume (HPS.CylinderKit in_kit)

Completely replaces all settings on this CylinderKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this CylinderKey.

CylinderKey ()

The default constructor creates an uninitialized CylinderKey object. The Type() function will return Type.None.

CylinderKey (HPS.CylinderKey in_that)

The copy constructor creates a CylinderKey object that shares the underlying smart-pointer of the source CylinderKey.

Param in_that

The source CylinderKey to copy.

CylinderKey (HPS.Key in_that)

This constructor creates a CylinderKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Cylinder key. Otherwise the copy will fail and the resulting CylinderKey will be invalid.

HPS.CylinderKey EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this CylinderKey.

Param in_offset

The offset into the point list for the cylinder at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.

Param in_count

The number of points to delete from the point list for the cylinder. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this CylinderKey.

Param in_offset

The offset into the point list for the cylinder at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this CylinderKey.

Param in_offset

The offset into the point list for the cylidner at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.

Param in_points

The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditRadiiByDeletion (ulong in_offset, ulong in_count)

Removes radii from the radius list for this CylinderKey.

Param in_offset

The offset into the radius list for the cylinder at which to start removing radii. This value must be such that in_offset<radius_count for deletion to succeed.

Param in_count

The number of radii to delete from the radius list for the cylinder. This value must be such that in_offset+in_count<=radius_count for the deletion to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditRadiiByInsertion (ulong in_offset, float[] in_radii)

Adds radii to the radius list for this CylinderKey.

Param in_offset

The offset into the radius list for the cylinder at which to insert radii. This value must be such that in_offset<radius_count for insertion to succeed.

Param in_radii

The radii to insert into the radius list at the specified offset.

Return

A reference to this CylinderKey.

HPS.CylinderKey EditRadiiByReplacement (ulong in_offset, float[] in_radii)

Replaces radii in the radius list for this CylinderKey.

Param in_offset

The offset into the radius list for the cylidner at which to start replacing radii. This value must be such that in_offset<radius_count for replacement to succeed.

Param in_radii

The radii to use to replace those in the radius list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=radius_count for the replacement to succeed.

Return

A reference to this CylinderKey.

ulong GetPointCount ()

Retrieves the number of points in this cylinder.

Return

The number of points in this cylinder.

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

Replace those settings on this CylinderKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_index

The material index to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Cylinder.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Cylinder.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Cylinder.Component in_apply_to)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this CylinderKey.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Cylinder.Component in_apply_to)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this CylinderKey.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Cylinder.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Cylinder.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Cylinder.Component in_apply_to)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this CylinderKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.

Param in_apply_to

The shell component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this CylinderKey.

Return

A reference to this CylinderKey.

HPS.CylinderKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Cylinder.Component in_apply_to)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this CylinderKey.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKey.

void Show (out HPS.CylinderKit out_kit)

Copy the contents of this CylinderKey into the specified kit.

Param out_kit

The kit to populate with the contents of this CylinderKey.

bool ShowCaps (out HPS.Cylinder.Capping out_caps)

Show the capping for this CylinderKey.

Param out_caps

The capping for this CylinderKey.

Return

true if a capping was set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this CylinderKey.

Param out_points

The points for this CylinderKey.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this CylinderKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this CylinderKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this CylinderKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this CylinderKey.

Return

true if all requested points were set, false otherwise.

bool ShowRadii (out float[] out_radii)

Show the radii for this CylinderKey.

Param out_radii

The radii for this CylinderKey.

Return

true if radii were set, false otherwise.

bool ShowVertexColors (HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows all the vertex colors of the specified cylinder component.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified cylinder component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified cylinder component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKey at which to start showing colors. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of colors to show. This value must be such that in_start+in_count<=point_count for showing to succeed.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified cylinder component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

HPS.CylinderKey UnsetVertexColors ()

Removes all vertex colors (RGB colors or material indices) for all cylinder components.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColors (HPS.Cylinder.Component in_apply_to)

Removes all vertex colors (RGB colors or material indices) for the specified cylinder component.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByList (ulong[] in_vertices, HPS.Cylinder.Component in_apply_to)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Param in_apply_to

The cylinder component that should be unset.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex colors (RGB colors or material indices) for all cylinder components starting at the specified offset.

Param in_start

The offset into the vertices for this CylinderKey at which to start removing colors. This value must be such that in_start<point_count for unsetting to succeed.

Param in_count

The number of vertex colors to remove for this CylinderKey. This value must be such that in_start+in_count<=point_count for unsetting to succeed.

Return

A reference to this CylinderKey.

HPS.CylinderKey UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Cylinder.Component in_apply_to)

Removes the specified range of vertex colors (RGB colors or material indices) for the specified cylinder component starting at the specified offset.

Param in_start

The offset into the vertices for this CylinderKey at which to start removing colors. This value must be such that in_start<point_count for unsetting to succeed.

Param in_count

The number of vertex colors to remove for this CylinderKey. This value must be such that in_start+in_count<=point_count for unsetting to succeed.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKey.

class CylinderKit : public HPS.Kit

The CylinderKit class is a user space object. It is a kit analog to a CylinderKey.

Public Functions

void Consume (HPS.CylinderKit in_kit)

Copies the source CylinderKit into this CylinderKit and resets the source kit.

Param in_kit

The source CylinderKit to consume.

CylinderKit ()

The default constructor creates an empty CylinderKit object.

CylinderKit (HPS.CylinderKit in_kit)

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

Param in_kit

The source CylinderKit to copy.

override bool Empty ()

Indicates whether this CylinderKit has any values set on it.

Return

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

bool Equals (HPS.CylinderKit in_kit)

Check if the source CylinderKit is equivalent to this CylinderKit.

Param in_kit

The source CylinderKit to compare to this CylinderKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPointCount ()

Retrieves the number of points in this cylinder.

Return

The number of points in this cylinder.

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

Copies the source CylinderKit into this CylinderKit.

Param in_kit

The source CylinderKit to copy.

HPS.CylinderKit SetCaps (HPS.Cylinder.Capping in_capping)

Sets the capping for this CylinderKit.

Param in_capping

The capping for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetPoints (HPS.Point[] in_points)

Sets the points for this CylinderKit.

Param in_points

The points for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the CylinderKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.CylinderKit SetRadii (float[] in_radii)

Sets the radii for this CylinderKit. If the size of the radii array is smaller than the point array, the radii array will be walked repeatedly to determine the radius for all points.

Param in_radii

The radii for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.CylinderKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.CylinderKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

HPS.CylinderKit SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

Sets a single material index on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Cylinder.Component in_apply_to)

Sets a single material index on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified cylinder component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Cylinder.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified cylinder component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting colors.

Param in_indices

The material indices to set on the vertices for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Cylinder.Component in_apply_to)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting colors.

Param in_indices

The material indices to set on the vertices for this CylinderKit.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_index

The material index to set on the vertices for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Cylinder.Component in_apply_to)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_index

The material index to set on the vertices for this CylinderKit.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Cylinder.Component in_apply_to)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified cylinder component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified cylinder component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Cylinder.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified cylinder component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the vertices for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Cylinder.Component in_apply_to)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the vertices for this CylinderKit.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Cylinder.Component in_apply_to)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices for this CylinderKit.

Param in_apply_to

The cylinder component the colors should apply to. Defaults to Cylinder.Component.Faces.

Return

A reference to this CylinderKit.

void Show (out HPS.CylinderKit out_kit)

Copies this CylinderKit into the given CylinderKit.

Param out_kit

The CylinderKit to populate with the contents of this CylinderKit.

bool ShowCaps (out HPS.Cylinder.Capping out_caps)

Show the capping for this CylinderKit.

Param out_caps

The capping for this CylinderKit.

Return

true if a capping was set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this CylinderKit.

Param out_points

The points for this CylinderKit.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this CylinderKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this CylinderKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this CylinderKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this CylinderKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowRadii (out float[] out_radii)

Show the radii for this CylinderKit.

Param out_radii

The radii for this CylinderKit.

Return

true if radii were set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

bool ShowVertexColors (HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows all the vertex colors of the specified cylinder component.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified cylinder component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified cylinder component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], out_rgba_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Cylinder.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified cylinder component.

Param in_start

The offset into the vertices for this CylinderKit at which to start showing colors.

Param in_count

The number of colors to show.

Param in_apply_to

The cylinder component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified cylinder component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

HPS.CylinderKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.CylinderKit UnsetCaps ()

Removes the capping for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetEverything ()

Removes all settings from the CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetPoints ()

Removes the points for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.CylinderKit UnsetRadii ()

Removes the radii for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.CylinderKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

HPS.CylinderKit UnsetVertexColors ()

Removes all vertex colors (RGB colors or material indices) for all cylinder components.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetVertexColors (HPS.Cylinder.Component in_apply_to)

Removes all vertex colors (RGB colors or material indices) for the specified cylinder component.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex colors (RGB colors or material indices) for all cylinder components on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetVertexColorsByList (ulong[] in_vertices, HPS.Cylinder.Component in_apply_to)

Removes the vertex colors (RGB colors or material indices) for the specified cylinder component on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetVertexColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex colors (RGB colors or material indices) for all cylinder components starting at the specified offset.

Param in_start

The offset into the vertices for this CylinderKit at which to start removing colors.

Param in_count

The number of vertex colors to remove for this CylinderKit.

Return

A reference to this CylinderKit.

HPS.CylinderKit UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Cylinder.Component in_apply_to)

Removes the specified range of vertex colors (RGB colors or material indices) for the specified cylinder component starting at the specified offset.

Param in_start

The offset into the vertices for this CylinderKit at which to start removing colors.

Param in_count

The number of vertex colors to remove for this CylinderKit.

Param in_apply_to

The cylinder component for which to remove the colors.

Return

A reference to this CylinderKit.

class Database : public IDisposable

The Database class is a special type that is never intended to be instantiated. It contains static functions for creating top-level database objects as well as performing global queries and actions.

Public Static Functions

HPS.ApplicationWindowKey CreateApplicationWindow (IntPtr in_window_handle)

Create an application window for the given window handle that Visualize can draw into with the specified driver. By default Visualize will try to create an anti-alias capable driver.

Param in_window_handle

Handle to the window that Visualize will draw into.

Return

An application window key corresponding to the given handle using the specified driver.

HPS.ApplicationWindowKey CreateApplicationWindow (IntPtr in_window_handle, HPS.ApplicationWindowOptionsKit in_options)

Create an application window for the given window handle that Visualize can draw into with the specified options.

Param in_window_handle

Handle to the window that Visualize will draw into.

Param in_options

Options for the application window.

Return

An application window key corresponding to the given handle using the specified options.

HPS.ApplicationWindowKey CreateApplicationWindow (IntPtr in_window_handle, HPS.Window.Driver in_driver)

Create an application window for the given window handle that Visualize can draw into with the specified driver. By default Visualize will try to create an anti-alias capable driver.

Param in_window_handle

Handle to the window that Visualize will draw into.

Param in_driver

Type of driver Visualize should create. Defaults to Window.Driver.Default3D.

Return

An application window key corresponding to the given handle using the specified driver.

HPS.EventDispatcher CreateEventDispatcher ()

Create a new EventDispatcher with a dedicated thread ready to dispatch events to handlers.

Return

A new EventDispatcher.

HPS.EventDispatcher CreateEventDispatcher (string in_name)

Create a new EventDispatcher with a dedicated thread ready to dispatch events to handlers.

Param in_name

A specific name for the new dispatcher.

Return

A new EventDispatcher.

HPS.OffScreenWindowKey CreateOffScreenWindow (HPS.ImageDefinition in_destination_image)

Create an offscreen window with the specified driver. By default, Visualize will try to create an anti-alias capable driver.

Param in_destination_image

An RGB or RGBA image definition that the offscreen window will be rendered to.

Return

An offscreen window key of the specified size using the specified driver.

HPS.OffScreenWindowKey CreateOffScreenWindow (HPS.ImageDefinition in_destination_image, HPS.OffScreenWindowOptionsKit in_options)

Create an offscreen window of the given height and width with the specified options.

Param in_destination_image

An RGB or RGBA image definition that the offscreen window will be rendered to.

Param in_options

Options for the offscreen window.

Return

An offscreen window key of the specified size using the specified options.

HPS.OffScreenWindowKey CreateOffScreenWindow (HPS.ImageDefinition in_destination_image, HPS.Window.Driver in_driver)

Create an offscreen window with the specified driver. By default, Visualize will try to create an anti-alias capable driver.

Param in_destination_image

An RGB or RGBA image definition that the offscreen window will be rendered to.

Param in_driver

Type of driver Visualize should create. Defaults to Window.Driver.Default3D.

Return

An offscreen window key of the specified size using the specified driver.

HPS.OffScreenWindowKey CreateOffScreenWindow (uint in_width, uint in_height)

Create an offscreen window of the given height and width with the specified driver. By default Visualize will try to create an anti-alias capable driver.

Param in_width

Width of the offscreen window in pixels.

Param in_height

Height of the offscreen window in pixels.

Return

An offscreen window key of the specified size using the specified driver.

HPS.OffScreenWindowKey CreateOffScreenWindow (uint in_width, uint in_height, HPS.OffScreenWindowOptionsKit in_options)

Create an offscreen window of the given height and width with the specified options.

Param in_width

Width of the offscreen window in pixels.

Param in_height

Height of the offscreen window in pixels.

Param in_options

Options for the offscreen window.

Return

An offscreen window key of the specified size using the specified options.

HPS.OffScreenWindowKey CreateOffScreenWindow (uint in_width, uint in_height, HPS.Window.Driver in_driver)

Create an offscreen window of the given height and width with the specified driver. By default Visualize will try to create an anti-alias capable driver.

Param in_width

Width of the offscreen window in pixels.

Param in_height

Height of the offscreen window in pixels.

Param in_driver

Type of driver Visualize should create. Defaults to Window.Driver.Default3D.

Return

An offscreen window key of the specified size using the specified driver.

HPS.PortfolioKey CreatePortfolio ()

Create a new portfolio.

Return

A new portfolio key.

HPS.SegmentKey CreateRootSegment ()

Create a new root segment, i.e., a segment without an owner.

Return

A new root segment key.

HPS.StandAloneWindowKey CreateStandAloneWindow ()

Create a stand-alone window with the specified driver. By default Visualize will try to create an anti-alias capable driver.

Return

An stand-alone window key using the specified driver.

HPS.StandAloneWindowKey CreateStandAloneWindow (HPS.StandAloneWindowOptionsKit in_options)

Create a stand-alone window with the specified options.

Param in_options

Options for the stand-alone window. Standalone windows are not supported on Android, iOS, or macOS as all GUI / windowing is controlled at the application level.

Return

An stand-alone window key using the specified options.

HPS.StandAloneWindowKey CreateStandAloneWindow (HPS.Window.Driver in_driver)

Create a stand-alone window with the specified driver. By default Visualize will try to create an anti-alias capable driver.

Param in_driver

Type of driver Visualize should create. Defaults to Window.Driver.Default3D. Standalone windows are not supported on Android, iOS, or macOS as all GUI / windowing is controlled at the application level.

Return

An stand-alone window key using the specified driver.

void Execute ()

This function will pump the stand-alone window event system once by default. If once is false then the calling thread will loop pumping events and will only return when the last window of any type exits.

void Execute (bool in_once)

This function will pump the stand-alone window event system once by default. If once is false then the calling thread will loop pumping events and will only return when the last window of any type exits.

Param in_once

determines if the stand-alone events are pumped once or forever.

bool GetErrorEventFilter (HPS.Info.Code in_code)

Provides the filter state of an ErrorEvent.

Param in_code

The info code in to operate on.

Return

If the specified code is filtered.

HPS.EventDispatcher GetEventDispatcher ()

Get the event dispatcher associated with the database. All database information, errors and warnings will be injected into this EventDispatcher.

Return

The event dispatcher associated with the database.

bool GetInformationEventFilter (HPS.Info.Code in_code)

Provides the filter state of an InformationEvent.

Param in_code

The info code in to operate on.

Return

If the specified code is filtered.

HPS.PortfolioKey GetMaterialLibraryPortfolio ()

Get the material library portfolio. This is the portfolio which contains all relevant definitions for materials coming from the material library. It is provided to facilitate importing definitions from this portfolio, or to allow examination of the definitions in the portfolio. It should not be deleted, and if it is, the scene will not render correctly if a file was loaded which depended on the material library.

Return

The material library portfolio.

ulong GetOOCMemoryLimit ()

Gets the byte limit used for OOC file loading.

Return

The current value in bytes.

HPS.PortfolioKey[] GetPortfolios ()

Get a list of all portfolios which are active (have been created but not deleted).

Return

List of all currently active portfolios.

HPS.SegmentKey[] GetRootSegments ()

Get a list of all root segments which are active (have been created but not deleted).

Return

List of all currently active root segments.

ulong GetSoftMemoryLimit ()

Gets the value at which the EmergencyHandler will be activated for SoftMemoryLimit.

Return

The current value in bytes.

double GetTime ()

Queries the number of milliseconds that have elapsed since Visualize started.

Return

The number of milliseconds that have elapsed since Visualize started.

bool GetWarningEventFilter (HPS.Info.Code in_code)

Provides the filter state of a WarningEvents.

Param in_code

The info code in to operate on.

Return

If the specified code is filtered.

HPS.WindowKey[] GetWindowKeys ()

Get a list of all windows (application, stand-alone, and offscreen) which are active (have been created but not deleted).

Return

List of all currently active windows.

bool IsDriverAvailable (HPS.Window.Driver in_driver)

Checks whether the specified driver type is present and available for use.

Param in_driver

the driver type to check availability for.

Return

Whether the driver is available or not.

void RelinquishMemory ()

Relinquish any internally cached memory to the system. This can reduce performance and stability if overused. If your application inserts or removes items from the Visualize database continuously, this function should not be used, even as a means of ‘obtaining more memory’ for the application. Otherwise, Visualize will simply allocate more memory from the operating system. This is slower than using its built in memory manager to allocate from its currently available memory pool. However, if you have a case where database interactions have perhaps reached a point of stabilization (for example, a model is loaded and has been interacted with already, and no other operations are going to incur extra memory usage), this function could prove useful by having Visualize free up its unused portion of allocated memory. This function should generally not be called on 32-bit Windows operating systems, because it can significantly shorten the life of an application. When memory is freed back to the system on 32-bit Windows, the real memory gets freed and defragmented by the OS, but the virtual address space does not. If an application keeps allocating and freeing system memory during its lifetime, memory will run out due to the address space fragmentation, even though physical memory might still be available. While 64-bit systems do not have the ‘virtual address space fragmentation’ issue, you typically should avoid calling this method, and rely on Visualize to manage its allocated memory during the lifetime of your application. Note that you can track Visualize’s current memory usage by calling HPS.Database.ShowMemoryUsage.

void Reset ()

Performs a complete reset of the Visualize database. All segments are deleted and all window displays are terminated. This will leave all keys, controls, and dispatchers invalid. Kits are preserved. This can never be called from inside an event handler. It may be appropriate to call this method if your application doesn’t need to use Visualize for a while.

ulong SelectByRay (HPS.Point in_start_point, HPS.Vector in_direction, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by ray starting at the specified segment using the specified selection options. This method can only select faceted geometry - not subentities.

Param in_start_point

Start point of ray.

Param in_direction

Direction vector for ray.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByShell (HPS.ShellKey in_shell, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by shell starting at the specified segment using the specified selection options. This method can only select faceted geometry.

Param in_shell

Shell in the database to use to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByShell (HPS.ShellKit in_shell, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by shell starting at the specified segment using the specified selection options. This method can only select faceted geometry.

Param in_shell

Shell to use to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByVolume (HPS.SimpleCuboid in_volume, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by volume starting at the specified segment using the specified selection options. If the volume is invalid, i.e., min > max for any component, an exception will be thrown.

Param in_volume

Volume to use when performing the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

void SetEmergencyHandler (HPS.EmergencyHandler in_emergency_handler)

Sets a custom EmergencyHandler.

Param in_emergency_handler

The EmergencyHandler to use.

bool SetErrorEventFilter (HPS.Info.Code in_code, bool in_filtered)

Sets if a specific code for ErrorEvent should be filtered.

Param in_code

The info code in to operate on.

Param in_filtered

The new filter state desired.

Return

The old value for the specified code.

bool SetInformationEventFilter (HPS.Info.Code in_code, bool in_filtered)

Sets if a specific code for InformationEvent should be filtered.

Param in_code

The info code in to operate on.

Param in_filtered

The new filter state desired.

Return

The old value for the specified code.

ulong SetOOCMemoryLimit (ulong in_limit_bytes)

Sets the byte limit used for OOC file loading. A limit of zero bytes restores the default value.

Param in_limit_bytes

The new limit value in bytes.

Return

The old value in bytes.

ulong SetSoftMemoryLimit (ulong in_limit_bytes)

Sets the value at which the EmergencyHandler will be activated for SoftMemoryLimit.

Param in_limit_bytes

The new limit value in bytes.

Return

The old value in bytes.

bool SetWarningEventFilter (HPS.Info.Code in_code, bool in_filtered)

Sets if a specific code for WarningEvent should be filtered.

Param in_code

The info code in to operate on.

Param in_filtered

The new filter state desired.

Return

The old value for the specified code.

void ShowMemoryUsage (out ulong out_allocated, out ulong out_used)

Returns information about system memory usage. It may be useful to know how much memory Visualize is using to store graphical information. Visualize utilizes its own internal memory manager. It generally allocates memory in large chunks from the operating system, then parcels the chunks out as needed by the database. Upon entity deletion, Visualize will keep some cached information, as well as the chunks of memory associated with the deleted items, effectively ‘recycling’ them. Allocated memory indicates the total size of all chunks; used memory indicates the amount that’s currently parceled out. The memory usage information is also useful during debugging - you might be able to use it to determine if your program (or perhaps Visualize) is “leaking” memory - for example, not cleaning up the segment tree properly after a procedure is finished. Some changes and deletions in the database might cause immediate changes in the memory usage statistics, while others might be delayed until after the next update. Because of the nature of Visualize’s built-in memory allocation methods, only a call to HPS.Database.RelinquishMemory or HPS.Database.Reset can clean up memory that has been allocated but not used and return it to the operating system. However, HPS.Database.RelinquishMemory should be used with care, so be sure to review the documentation.

Param out_allocated

Total bytes currently allocated from the OS.

Param out_used

Total bytes currently in use by the database.

void Sleep (double milliseconds)

Sleep for the number of milliseconds requested.

void Synchronize ()

Synchronizes the database, guaranteeing that all queued actions and updates have been performed.

void UnsetEmergencyHandler ()

Sets the default EmergencyHandler.

class DebuggingControl : public HPS.Control

The HPS.DebuggingControl class is a smart pointer that is tied to a database object. Using this control, you are able to set and show the resource monitor. This control is only accessible from a HPS.WindowKey. This table lists default values for the various segment attributes accessible from HPS.DebuggingControl.

Public Functions

DebuggingControl (HPS.DebuggingControl in_that)

Initializes a control tied to the same object as in_that.

DebuggingControl (HPS.WindowKey in_window)

Initializes a control tied to the window segment in_window.

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.

HPS.DebuggingControl SetResourceMonitor (bool in_display)

Controls whether a small window will be drawn displaying a number of statistics about the last update.

See

Resource monitor default value.

Param in_display

Whether a small window will be drawn displaying a number of statistics about the last update.

Return

A reference to this object.

bool ShowResourceMonitor (out bool out_display)

Shows the resource monitor setting.

Param out_display

Whether a small window will be drawn displaying a number of statistics about the last update.

Return

true if the setting is valid, false otherwise.

HPS.DebuggingControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by DebuggingKit.GetDefault().

Return

A reference to this object.

HPS.DebuggingControl UnsetResourceMonitor ()

Unsets the Resource Monitor setting for this control. If the control is attached to a WindowKey this function restores the default setting as specified by DebuggingKit.GetDefault().

Return

A reference to this object.

class DebuggingKit : public HPS.Kit

The HPS.DebuggingKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.DebuggingKit.GetDefault() will return a kit with values found in this table.

Public Functions

DebuggingKit ()

Initializes an empty kit.

DebuggingKit (HPS.DebuggingKit in_kit)

Copies the kit in_kit into this kit.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.DebuggingKit in_kit)

Check if the source DebuggingKit is equivalent to this object.

Param in_kit

The source DebuggingKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source DebuggingKit into this object.

Param in_kit

The source object to copy.

HPS.DebuggingKit SetResourceMonitor (bool in_display)

Controls whether a small window will be drawn displaying a number of statistics about the last update.

Param in_display

Whether a small window will be drawn displaying a number of statistics about the last update.

Return

A reference to this object.

void Show (out HPS.DebuggingKit out_kit)

Copies this object into the given DebuggingKit.

Param out_kit

The DebuggingKit to populate with the contents of this object.

bool ShowResourceMonitor (out bool out_display)

Shows the resource monitor setting.

Param out_display

Whether a small window will be drawn displaying a number of statistics about the last update.

Return

true if the setting is valid, false otherwise.

HPS.DebuggingKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.DebuggingKit UnsetResourceMonitor ()

Removes a resource monitor setting.

Return

A reference to this object.

Public Static Functions

HPS.DebuggingKit GetDefault ()

Creates a DebuggingKit 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 DebuggingKit with the default settings.

class Definition : public HPS.Object

The Definition class is a smart pointer to a database object. It is the base class for all definition objects.

Subclassed by HPS.CubeMapDefinition, HPS.GlyphDefinition, HPS.ImageDefinition, HPS.LegacyShaderDefinition, HPS.LinePatternDefinition, HPS.MaterialPaletteDefinition, HPS.NamedStyleDefinition, HPS.ShapeDefinition, HPS.TextureDefinition

Public Functions

void Assign (HPS.Definition in_that)

Associate this Definition with the same underlying impl as the source Definition.

Param in_that

The source Definition for the assignment.

Definition ()

The default constructor creates an uninitialized Definition object. The Type() function will return Type.None.

Definition (HPS.Definition in_that)

The copy constructor creates a Definition object that shares the underlying smart-pointer of the source Definition.

Param in_that

The source Definition to copy.

bool Equals (HPS.Definition in_that)

Check if the source Definition is equivalent to this Definition.

Param in_that

The source Definition to compare to this Definition.

Return

true if the objects are equivalent, false otherwise.

string Name ()

Get the name given to this Definition when it was defined.

Return

UTF8-encoded name of this Definition.

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.

HPS.PortfolioKey Owner ()

Get the portfolio that owns this Definition.

Return

The portfolio that owns this Definition.

void Undefine ()

Removes this definition from the owning portfolio.

struct DirectRGBColor
class DistantLightKey : public HPS.GeometryKey

The DistantLightKey class is a smart pointer to a database object. It is a handle to a distant light inserted via SegmentKey.InsertDistantLight.

Public Functions

void Consume (HPS.DistantLightKit in_kit)

Completely replaces all settings on this DistantLightKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this DistantLightKey.

DistantLightKey ()

The default constructor creates an uninitialized DistantLightKey object. The Type() function will return Type.None.

DistantLightKey (HPS.DistantLightKey in_that)

The copy constructor creates a DistantLightKey object that shares the underlying smart-pointer of the source DistantLightKey.

Param in_that

The source DistantLightKey to copy.

DistantLightKey (HPS.Key in_that)

This constructor creates a DistantLightKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a DistantLight key. Otherwise the copy will fail and the resulting DistantLightKey will be invalid.

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

Replace those settings on this DistantLightKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this DistantLightKey.

HPS.DistantLightKey SetCameraRelative (bool in_state)

Sets the camera-relative setting for this DistantLightKey.

See

SetDirection

Param in_state

Whether the direction of this DistantLightKey is treated as being in object space or camera-relative space.

Return

A reference to this DistantLightKey.

HPS.DistantLightKey SetColor (HPS.RGBAColor in_rgba_color)

Sets the RGBA color to use for this DistantLightKey.

Param in_rgba_color

The RGBA color to use for this DistantLightKey.

Return

A reference to this DistantLightKey.

HPS.DistantLightKey SetColorByIndex (float in_index)

Sets the color index to use for this DistantLightKey.

Param in_index

The color index to use for this DistantLightKey.

Return

A reference to this DistantLightKey.

HPS.DistantLightKey SetDirection (HPS.Vector in_vector)

Sets the direction in which this DistantLightKey lies. The rays emitted by this light will travel in the opposite direction of this vector.

See

SetCameraRelative

Param in_vector

The direction in which this DistantLightKey lies. The vector will either be treated as being in object space or in camera-relative units depending on the setting passed SetCameraRelative.

Return

A reference to this DistantLightKey.

void Show (out HPS.DistantLightKit out_kit)

Copy the contents of this DistantLightKey into the specified kit.

Param out_kit

The kit to populate with the contents of this DistantLightKey.

bool ShowCameraRelative (out bool out_state)

Shows the camera-relative setting for this DistantLightKey.

Param out_state

Whether the direction of this DistantLightKey is treated as being in object space or camera-relative space.

Return

true if a camera-relative setting was specified, false otherwise.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_index)

Shows the color for this DistantLightKey.

Param out_type

The type of color for the distant light.

Param out_rgba_color

The RGBA color for the distant light. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for the distant light. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

bool ShowDirection (out HPS.Vector out_vector)

Shows the direction in which this DistantLightKey lies.

Param out_vector

The direction in which this DistantLightKey lies.

Return

true if a direction was set, false otherwise.

HPS.DistantLightKey UnsetColor ()

Removes the color (RGBA or material index) set on this DistantLightKey.

Return

A reference to this DistantLightKey.

class DistantLightKit : public HPS.Kit

The DistantLightKit class is a user space object. It is a kit analog to a DistantLightKey.

Public Functions

void Consume (HPS.DistantLightKit in_kit)

Copies the source DistantLightKit into this DistantLightKit and resets the source kit.

Param in_kit

The source DistantLightKit to consume.

DistantLightKit ()

The default constructor creates an empty DistantLightKit object.

DistantLightKit (HPS.DistantLightKit in_kit)

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

Param in_kit

The source DistantLightKit to copy.

override bool Empty ()

Indicates whether this DistantLightKit has any values set on it.

Return

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

bool Equals (HPS.DistantLightKit in_kit)

Check if the source DistantLightKit is equivalent to this DistantLightKit.

Param in_kit

The source DistantLightKit to compare to this DistantLightKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source DistantLightKit into this DistantLightKit.

Param in_kit

The source DistantLightKit to copy.

HPS.DistantLightKit SetCameraRelative (bool in_state)

Sets the camera-relative setting for this DistantLightKit.

See

SetDirection

See

Default value

Param in_state

Whether the direction of this DistantLightKit is treated as being in object space or camera-relative space.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit SetColor (HPS.RGBAColor in_rgba_color)

Sets the RGBA color to use for this DistantLightKit.

Param in_rgba_color

The RGBA color to use for this DistantLightKit.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit SetColorByIndex (float in_index)

Sets the color index to use for this DistantLightKit.

Param in_index

The color index to use for this DistantLightKit.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit SetDirection (HPS.Vector in_vector)

Sets the direction in which this DistantLightKit lies. The rays emitted by this light will travel in the opposite direction of this vector.

See

SetCameraRelative

See

Default value

Param in_vector

The direction in which this DistantLightKit lies. The vector will either be treated as being in object space or in camera-relative units depending on the setting passed SetCameraRelative.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the DistantLightKit. It affects the order in which the contents of the owning segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.DistantLightKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.DistantLightKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.DistantLightKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.DistantLightKit out_kit)

Copies this DistantLightKit into the given DistantLightKit.

Param out_kit

The DistantLightKit to populate with the contents of this DistantLightKit.

bool ShowCameraRelative (out bool out_state)

Shows the camera-relative setting for this DistantLightKit.

Param out_state

Whether the direction of this DistantLightKit is treated as being in object space or camera-relative space.

Return

true if a camera-relative setting was specified, false otherwise.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_index)

Shows the color for this DistantLightKit.

Param out_type

The type of color for the distant light.

Param out_rgba_color

The RGBA color for the distant light. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for the distant light. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

bool ShowDirection (out HPS.Vector out_vector)

Shows the direction in which this DistantLightKit lies.

Param out_vector

The direction in which this DistantLightKit lies.

Return

true if a direction was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority for this DistantLightKit.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if drawing priority was specified, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.DistantLightKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.DistantLightKit UnsetCameraRelative ()

Removes the camera-relative setting on this DistantLightKit.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit UnsetColor ()

Removes the color (RGBA or material index) set on this DistantLightKit.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit UnsetDirection ()

Removes the direction set on this DistantLightKit.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit UnsetEverything ()

Removes all settings from the DistantLightKit.

Return

A reference to this DistantLightKit.

HPS.DistantLightKit UnsetPriority ()

Removes the drawing priority setting.

Return

A reference to this object.

HPS.DistantLightKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.DistantLightKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class DotGlyphElement : public HPS.GlyphElement

The DotGlyphElement class is a user space object. It is used to dot elements to glyphs.

Public Functions

DotGlyphElement ()

The default constructor creates an empty DotGlyphElement object.

DotGlyphElement (HPS.DotGlyphElement in_that)

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

Param in_that

The source DotGlyphElement to copy.

DotGlyphElement (HPS.GlyphElement in_that)

This constructor creates a DotGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of a dot glyph element. Otherwise the copy will fail and the resulting DotGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

DotGlyphElement (HPS.GlyphPoint in_point)

This constructor creates a DotGlyphElement with the specified point.

Param in_point

The point for the dot.

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 SetPoint (HPS.GlyphPoint in_point)

Sets the point for this DotGlyphElement.

Param in_point

The point for the dot.

bool ShowPoint (out HPS.GlyphPoint out_point)

Shows the point for this DotGlyphElement.

Param out_point

The point for the dot.

Return

true if a point was set, false otherwise.

struct DPoint
class Drawing : public IDisposable

Public Types

enum ClipOperation

Enumerates the clip region operation types.

Values:

Keep

The geometry inside the clip region is drawn. Everything outside of it is clipped.

Remove

The geometry outside the clip region is drawn. Everything inside of it is clipped.

enum ClipSpace

Enumerates the coordinate spaces types for clip regions.

Values:

Window

The clip region is specified in window coordinates.

World

The clip region is specified in world coordinated.

Object

The clip region is specified in object coordinated.

enum Handedness

Handedness is used to define the front face of a polygon as well as the orientation of the z-axis relative to the x-y plane.

Values:

None

No Handedness.

Left

Left Handed.

Right

Right Handed.

enum Overlay

Enumeration of the various overlay modes.

Values:

None
Default
WithZValues
InPlace
class DrawingAttributeControl : public HPS.Control

The HPS.DrawingAttributeControl class is a smart pointer that is tied to a database object. This object is used to manipulate various high-level settings, such as depth range, priority, and displacement. Note that some of the attributes available through this control should only be set for an entire window, while others can be set at multiple places.

Global attributes:

World handedness, polygon handedness, priority, depth range

Segment-level attributes:

overlay, deferral, face displacement, general displacement, clip regions

This table lists default values for the various segment attributes accessible from HPS.DrawingAttributeControl.

Public Functions

DrawingAttributeControl (HPS.DrawingAttributeControl in_that)

Initializes a control tied to the same object as in_that.

DrawingAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.DrawingAttributeControl SetClipRegion (HPS.Point[] in_points)

Specifies a clip region.

Param in_points

An array of points specifying the shape of the clip region.

Return

A reference to this object.

HPS.DrawingAttributeControl SetClipRegion (HPS.Point[] in_points, HPS.Drawing.ClipSpace in_space)

Specifies a clip region.

Param in_points

An array of points specifying the shape of the clip region.

Param in_space

The space coordinated in which the points are specified.

Return

A reference to this object.

HPS.DrawingAttributeControl SetClipRegion (HPS.Point[] in_points, HPS.Drawing.ClipSpace in_space, HPS.Drawing.ClipOperation in_operation)

Specifies a clip region.

Param in_points

An array of points specifying the shape of the clip region.

Param in_space

The space coordinated in which the points are specified.

Param in_operation

The operation performed by this clip region.

Return

A reference to this object.

HPS.DrawingAttributeControl SetClipRegion (HPS.Point[][] in_loops)

Sets a complex polygonal clip region defined by the XOR of a series of loops.

Param in_loops

An array of loops describing clip regions.

Return

A reference to this object.

HPS.DrawingAttributeControl SetClipRegion (HPS.Point[][] in_loops, HPS.Drawing.ClipSpace in_space)

Sets a complex polygonal clip region defined by the XOR of a series of loops.

Param in_loops

An array of loops describing clip regions.

Param in_space

The coordinate space in which in_loops are specified.

Return

A reference to this object.

HPS.DrawingAttributeControl SetClipRegion (HPS.Point[][] in_loops, HPS.Drawing.ClipSpace in_space, HPS.Drawing.ClipOperation in_operation)

Sets a complex polygonal clip region defined by the XOR of a series of loops.

Param in_loops

An array of loops describing clip regions.

Param in_space

The coordinate space in which in_loops are specified.

Param in_operation

The operation performed by the clip region.

Return

A reference to this object.

HPS.DrawingAttributeControl SetDeferral (int in_deferral)

Specifies a drawing order for a segment during timed updates. Segments with a lower deferral value will be drawn before segments with a higher value. This attribute does not inherit like most attributes. Segments have a default value of 0.

Param in_deferral

A drawing priority, with larger values drawing later than usual. Should be non-negative.

Return

A reference to this object.

HPS.DrawingAttributeControl SetDepthRange (float in_near, float in_far)

Compresses effective Z values into a subset of what they would otherwise have been. This allows certain pieces of the scene to be drawn on top at all times without additional sub-windows. Values of (0,0) will force all geometry into the frontmost bucket, but will have the drawback that it will cause z-fighting amongst the geometry that shares that setting. To get such pieces of geometry to resolve reasonably well against each other, a range of (0,0.1) should perform reasonably well. Depth range settings are not cumulative, and have no effect when the rendering algorithm is Priority, or is not set. The default is (0,1)

Param in_near

The portion of the depth range closest to the camera. Valid range is [0,1] with in_near <= in_far.

Param in_far

The portion of the depth range furthest to the camera. Valid range is [0,1] with in_near <= in_far.

Return

A reference to this object.

HPS.DrawingAttributeControl SetFaceDisplacement (bool in_state)

Specifies a number of Z-buffer units that rendered faces should be pushed away from the camera. This can be used to reduce edge stitching by ensuring that coincident edges lay on top of the faces. Negative face displacements will push faces toward the camera.

Param in_state

Whether face displacement should be used.

Return

A reference to this object.

HPS.DrawingAttributeControl SetFaceDisplacement (bool in_state, int in_buckets)

Specifies a number of Z-buffer units that rendered faces should be pushed away from the camera. This can be used to reduce edge stitching by ensuring that coincident edges lay on top of the faces. Negative face displacements will push faces toward the camera.

Param in_state

Whether face displacement should be used.

Param in_buckets

The number of units to move faces in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move faces toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeControl SetFaceDisplacement (int in_buckets)

Specifies a number of Z-buffer units that rendered faces should be pushed away from the camera. The state is implicitly on.

See

SetFaceDisplacement(bool in_state, int in_buckets)

Param in_buckets

The number of units to move faces in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move faces toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeControl SetGeneralDisplacement (bool in_state)

Specifies a number of Z-buffer units that all geometry should be pushed away from the camera. This can be used to ensure that certain geometry is drawn on top of or behind the rest of the scene. Negative general displacements will push geometry toward the camera.

Param in_state

Whether general displacement should be used.

Return

A reference to this object.

HPS.DrawingAttributeControl SetGeneralDisplacement (bool in_state, int in_buckets)

Specifies a number of Z-buffer units that all geometry should be pushed away from the camera. This can be used to ensure that certain geometry is drawn on top of or behind the rest of the scene. Negative general displacements will push geometry toward the camera.

Param in_state

Whether general displacement should be used.

Param in_buckets

The number of units to move rendered geometry in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move geometry toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeControl SetGeneralDisplacement (int in_buckets)

Specifies a number of Z-buffer units that all geometry should be pushed away from the camera. The state is implicitly on.

See

SetGeneralDisplacement(bool in_state, int in_buckets)

Param in_buckets

The number of units to move rendered geometry in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move geometry toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeControl SetOverlay (HPS.Drawing.Overlay in_overlay)

Allows moving, editing, or deleting to take place in a segment without triggering a full-screen redraw.

Param in_overlay

The type of overlay, if any, to be used.

Return

A reference to this object.

HPS.DrawingAttributeControl SetOverrideInternalColor (HPS.VisibilityKit in_kit)

Specifies internal color of line styles, glyphs and similar items should be overridden.

Param in_kit

Which types should internal colors should be overridden.

Return

A reference to this object.

HPS.DrawingAttributeControl SetPolygonHandedness (HPS.Drawing.Handedness in_handedness)

In order to do a back face culling, there must be some definition of a polygon’s “front” and “back”. This orientation is determined by the order in which the polygon’s vertices were originally defined and the polygon handedness setting (not the world handedness). If you wrap the fingers of the chosen hand along the vertices of the polygon, with your wrist at the first vertex and your fingertips at the last, then extend your thumb perpendicular to your fingers, your thumb is extending out of the front face of the polygon.

See

SetWorldHandedness()

See

CullingKit.SetBackFace()

Param in_handedness

The handedness to be used for geometry.

Return

A reference to this object.

HPS.DrawingAttributeControl SetVertexDecimation (float in_zero_to_one)

Specifies an amount of vertices to draw 1 draws them all.

Param in_zero_to_one

An amount, between [0,1], of vertices to draw.

Return

A reference to this object.

HPS.DrawingAttributeControl SetVertexDisplacement (bool in_state)

Specifies a number of Z-buffer units that vertices should be pushed away from the camera. This can be used to ensure that vertices are drawn on top of or behind other geometry. Negative general displacements will push vertices toward the camera.

Param in_state

Whether vertex displacement should be used.

Return

A reference to this object.

HPS.DrawingAttributeControl SetVertexDisplacement (bool in_state, int in_buckets)

Specifies a number of Z-buffer units that vertices should be pushed away from the camera. This can be used to ensure that vertices are drawn on top of or behind other geometry. Negative general displacements will push vertices toward the camera.

Param in_state

Whether vertex displacement should be used.

Param in_buckets

The number of units to move vertices in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move vertices toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeControl SetVertexDisplacement (int in_buckets)

Specifies a number of Z-buffer units that vertices should be pushed away from the camera. The state is implicitly on.

Param in_buckets

The number of units to move vertices in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move vertices toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeControl SetVertexRandomization (bool in_state)

Specifies vertices should be drawn in a random order.

Param in_state

If true the vertices for a point cloud will be randomized.

Return

A reference to this object.

HPS.DrawingAttributeControl SetWorldHandedness (HPS.Drawing.Handedness in_handedness)

The world handedness determines the orientation of the Z-axis in the Cartesian coordinate system. If you curl the fingers of your appropriate hand from the X-axis towards the Y-axis, your thumb will point in the direction of the Z-axis.

See

SetPolygonHandedness()

Param in_handedness

The handedness of the underlying coordinate system.

Return

A reference to this object.

bool ShowClipRegion (out HPS.Point[][] out_loops, out HPS.Drawing.ClipSpace out_space, out HPS.Drawing.ClipOperation out_operation)

Shows the clip region setting.

Param out_loops

An array of loops specifying the shape of the clip region.

Param out_space

The coordinate space the points are specified in.

Param out_operation

The operation performed by this clip region.

Return

true if the setting is valid, false otherwise.

bool ShowDeferral (out int out_defer_batch)

Shows the deferral setting.

Param out_defer_batch

A drawing priority, with negative values drawing earlier than usual and positive values drawing later than usual.

Return

true if the setting is valid, false otherwise.

bool ShowDepthRange (out float out_x, out float out_y)

Shows the depth range setting.

Return

true if the setting is valid, false otherwise.

bool ShowFaceDisplacement (out bool out_state, out int out_buckets)

Shows the face displacement setting.

Param out_state

Whether face displacement will be used.

Param out_buckets

The distance to move rendered faces away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowGeneralDisplacement (out bool out_state, out int out_buckets)

Shows the general displacement setting.

Param out_state

Whether general displacement will be used.

Param out_buckets

The distance to move rendered geometry away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowOverlay (out HPS.Drawing.Overlay out_overlay)

Shows the overlay setting.

Param out_overlay

The type of overlay, if any, used.

Return

true if the setting is valid, false otherwise.

bool ShowOverrideInternalColor (out HPS.VisibilityKit out_kit)

Shows the override internal color setting.

Param out_kit

Which override internal color types will be used.

Return

true if the setting is valid, false otherwise.

bool ShowPolygonHandedness (out HPS.Drawing.Handedness out_handedness)

Shows the polygon handedness.

Param out_handedness

The handedness used for geometry.

Return

true if the setting is valid, false otherwise.

bool ShowVertexDecimation (out float out_zero_to_one)

Shows the vertex decimation setting.

Param out_zero_to_one

The value set for vertex decimation.

Return

true if the setting is valid, false otherwise.

bool ShowVertexDisplacement (out bool out_state, out int out_buckets)

Shows the vertex displacement setting.

Param out_state

Whether vertex displacement will be used.

Param out_buckets

The distance to move vertices away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowVertexRandomization (out bool out_state)

Shows the vertex randomization setting.

Param out_state

Whether vertex randomization will be used.

Return

true if the setting is valid, false otherwise.

bool ShowWorldHandedness (out HPS.Drawing.Handedness out_handedness)

Shows the world handedness.

Param out_handedness

The handedness of the underlying coordinate system.

Return

true if the setting is valid, false otherwise.

HPS.DrawingAttributeControl UnsetClipRegion ()

Removes a clip region setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetDeferral ()

Removes a deferral setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetDepthRange ()

Removes a depth range setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetFaceDisplacement ()

Removes a face displacement setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetGeneralDisplacement ()

Removes a general displacement setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetOverlay ()

Removes an overlay setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetOverrideInternalColor ()

Removes an override internal color setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetPolygonHandedness ()

Removes a polygon handedness setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetVertexDecimation ()

Removes a vertex decimation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetVertexDisplacement ()

Removes a vertex displacement setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetVertexRandomization ()

Removes a vertex randomization setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.DrawingAttributeControl UnsetWorldHandedness ()

Removes a world handedness setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by DrawingAttributeKit.GetDefault().

Return

A reference to this object.

class DrawingAttributeKit : public HPS.Kit

The HPS.DrawingAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.DrawingAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

DrawingAttributeKit ()

Initializes an empty kit.

DrawingAttributeKit (HPS.DrawingAttributeKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.DrawingAttributeKit in_kit)

Check if the source DrawingAttributeKit is equivalent to this object.

Param in_kit

The source DrawingAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source DrawingAttributeKit into this object.

Param in_kit

The source object to copy.

HPS.DrawingAttributeKit SetClipRegion (HPS.Point[] in_points)

Sets a polygonal clip region.

Param in_points

An array of points describing the clip region.

Return

A reference to this object.

HPS.DrawingAttributeKit SetClipRegion (HPS.Point[] in_points, HPS.Drawing.ClipSpace in_space)

Sets a polygonal clip region.

Param in_points

An array of points describing the clip region.

Param in_space

The coordinate space in which in_points are specified.

Return

A reference to this object.

HPS.DrawingAttributeKit SetClipRegion (HPS.Point[] in_points, HPS.Drawing.ClipSpace in_space, HPS.Drawing.ClipOperation in_operation)

Sets a polygonal clip region.

Param in_points

An array of points describing the clip region.

Param in_space

The coordinate space in which in_points are specified.

Param in_operation

The operation performed by the clip region.

Return

A reference to this object.

HPS.DrawingAttributeKit SetClipRegion (HPS.Point[][] in_loops)

Sets a complex polygonal clip region defined by the XOR of a series of loops.

Param in_loops

An array of loops describing clip regions.

Return

A reference to this object.

HPS.DrawingAttributeKit SetClipRegion (HPS.Point[][] in_loops, HPS.Drawing.ClipSpace in_space)

Sets a complex polygonal clip region defined by the XOR of a series of loops.

Param in_loops

An array of loops describing clip regions.

Param in_space

The coordinate space in which in_loops are specified.

Return

A reference to this object.

HPS.DrawingAttributeKit SetClipRegion (HPS.Point[][] in_loops, HPS.Drawing.ClipSpace in_space, HPS.Drawing.ClipOperation in_operation)

Sets a complex polygonal clip region defined by the XOR of a series of loops.

Param in_loops

An array of loops describing clip regions.

Param in_space

The coordinate space in which in_loops are specified.

Param in_operation

The operation performed by the clip region.

Return

A reference to this object.

HPS.DrawingAttributeKit SetDeferral (int in_deferral)

Specifies a drawing order for a segment during timed updates. Segments with a lower deferral value will be drawn before segments with a higher value. This attribute does not inherit like most attributes and segments have a default value of 0.

Param in_deferral

A drawing priority, with larger values drawing later than usual. Should be non-negative.

Return

A reference to this object.

HPS.DrawingAttributeKit SetDepthRange (float in_near, float in_far)

Compresses effective Z values into a subset of what they would otherwise have been. This allows certain pieces of the scene to be drawn on top at all times without additional sub-windows. Values of (0,0) will force all geometry into the frontmost bucket, but will have the drawback that it will cause z-fighting amongst the geometry that shares that setting. To get such pieces of geometry to resolve reasonably well against each other, a range of (0,0.1) should perform reasonably well. Depth range settings are not cumulative, and have no effect when the rendering algorithm is Priority, or is not set. The default is (0,1)

Param in_near

The portion of the depth range closest to the camera. Valid range is [0,1] with in_near <= in_far.

Param in_far

The portion of the depth range furthest to the camera. Valid range is [0,1] with in_near <= in_far.

Return

A reference to this object.

HPS.DrawingAttributeKit SetFaceDisplacement (bool in_state)

Specifies a number of Z-buffer units that rendered faces should be pushed away from the camera. This can be used to reduce edge stitching by ensuring that coincident edges lay on top of the faces. Negative face displacements will push faces toward the camera.

Param in_state

Whether face displacement should be used.

Return

A reference to this object.

HPS.DrawingAttributeKit SetFaceDisplacement (bool in_state, int in_buckets)

Specifies a number of Z-buffer units that rendered faces should be pushed away from the camera. This can be used to reduce edge stitching by ensuring that coincident edges lay on top of the faces. Negative face displacements will push faces toward the camera.

Param in_state

Whether face displacement should be used.

Param in_buckets

The number of units to move faces in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move faces toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeKit SetFaceDisplacement (int in_buckets)

Specifies a number of Z-buffer units that rendered faces should be pushed away from the camera.

See

SetFaceDisplacement(bool in_state, int in_buckets)

Param in_buckets

The number of units to move faces in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move faces toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeKit SetGeneralDisplacement (bool in_state)

Specifies a number of Z-buffer units that all geometry should be pushed away from the camera. This can be used to ensure that certain geometry is drawn on top of or behind the rest of the scene. Negative general displacements will push geometry toward the camera.

Param in_state

Whether general displacement should be used.

Return

A reference to this object.

HPS.DrawingAttributeKit SetGeneralDisplacement (bool in_state, int in_buckets)

Specifies a number of Z-buffer units that all geometry should be pushed away from the camera. This can be used to ensure that certain geometry is drawn on top of or behind the rest of the scene. Negative general displacements will push geometry toward the camera.

Param in_state

Whether general displacement should be used.

Param in_buckets

The number of units to move rendered geometry in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move geometry toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeKit SetGeneralDisplacement (int in_buckets)

Specifies a number of Z-buffer units that all geometry should be pushed away from the camera.

See

SetGeneralDisplacement(bool in_state, int in_buckets)

Param in_buckets

The number of units to move rendered geometry in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move geometry toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeKit SetOverlay (HPS.Drawing.Overlay in_overlay)

Allows moving, editing, or deleting to take place in a segment without triggering a full-screen redraw.

Param in_overlay

The type of overlay, if any, to be used.

Return

A reference to this object.

HPS.DrawingAttributeKit SetOverrideInternalColor (HPS.VisibilityKit in_kit)

Specifies internal color of line styles, glyphs and similar items should be overridden.

Param in_kit

Which types should internal colors should be overridden.

Return

A reference to this object.

HPS.DrawingAttributeKit SetPolygonHandedness (HPS.Drawing.Handedness in_handedness)

In order to perform back face culling, there must be some definition of a polygon’s “front” and “back” faces. This orientation is determined by the order in which the polygon’s vertices were originally defined and the polygon handedness setting (not the world handedness). If you wrap the fingers of the chosen hand along the vertices of the polygon, with your wrist at the first vertex and your fingertips at the last, then extend your thumb perpendicular to your fingers, your thumb is extending out of the front face of the polygon.

See

SetWorldHandedness()

See

CullingKit.SetBackFace()

Param in_handedness

The handedness to be used for geometry.

Return

A reference to this object.

HPS.DrawingAttributeKit SetVertexDecimation (float in_zero_to_one)

Specifies an amount of vertices to draw 1 draws them all.

Param in_zero_to_one

An amount, between [0,1], of vertices to draw.

Return

A reference to this object.

HPS.DrawingAttributeKit SetVertexDisplacement (bool in_state)

Specifies a number of Z-buffer units that vertices should be pushed away from the camera. This can be used to ensure that vertices are drawn on top of or behind other geometry. Negative general displacements will push vertices toward the camera.

Param in_state

Whether vertex displacement should be used.

Return

A reference to this object.

HPS.DrawingAttributeKit SetVertexDisplacement (bool in_state, int in_buckets)

Specifies a number of Z-buffer units that vertices should be pushed away from the camera. This can be used to ensure that vertices are drawn on top of or behind other geometry. Negative general displacements will push vertices toward the camera.

Param in_state

Whether vertex displacement should be used.

Param in_buckets

The number of units to move vertices in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move vertices toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeKit SetVertexDisplacement (int in_buckets)

Specifies a number of Z-buffer units that vertices should be pushed away from the camera. The state is implicitly on.

Param in_buckets

The number of units to move vertices in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move vertices toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.DrawingAttributeKit SetVertexRandomization (bool in_state)

Specifies vertices should be drawn in a random order.

Param in_state

If true the vertices for a point cloud will be randomized.

Return

A reference to this object.

HPS.DrawingAttributeKit SetWorldHandedness (HPS.Drawing.Handedness in_handedness)

The world handedness determines the orientation of the Z-axis in the Cartesian coordinate system. If you curl the fingers of your appropriate hand from the X-axis towards the Y-axis, your thumb will point in the direction of the Z-axis.

See

SetPolygonHandedness()

Param in_handedness

The handedness of the underlying coordinate system.

Return

A reference to this object.

void Show (out HPS.DrawingAttributeKit out_kit)

Copies this object into the given DrawingAttributeKit.

Param out_kit

The DrawingAttributeKit to populate with the contents of this object.

bool ShowClipRegion (out HPS.Point[][] out_loops, out HPS.Drawing.ClipSpace out_space, out HPS.Drawing.ClipOperation out_operation)

Shows the clip region settings.

Param out_loops

An array of loops describing the clip region.

Param out_space

The coordinate space in which out_loops are described.

Param out_operation

The operation performed by the clip region

Return

true if the setting is valid, false otherwise.

bool ShowDeferral (out int out_defer_batch)

Shows the deferral setting.

Param out_defer_batch

A drawing priority, with negative values drawing earlier than usual and positive values drawing later than usual.

Return

true if the setting is valid, false otherwise.

bool ShowDepthRange (out float out_near, out float out_far)

Shows the depth range setting.

Param out_near

The portion of the depth range closest to the camera. Valid range is [0,1] with out_near <= out_far.

Param out_far

The portion of the depth range furthest to the camera. Valid range is [0,1] with out_near <= out_far.

Return

true if the setting is valid, false otherwise.

bool ShowFaceDisplacement (out bool out_state, out int out_buckets)

Shows the face displacement setting.

Param out_state

Whether face displacement will be used.

Param out_buckets

The distance to move rendered faces away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowGeneralDisplacement (out bool out_state, out int out_buckets)

Shows the general displacement setting.

Param out_state

Whether general displacement will be used.

Param out_buckets

The distance to move rendered geometry away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowOverlay (out HPS.Drawing.Overlay out_overlay)

Shows the overlay setting.

Param out_overlay

The type of overlay, if any, used.

Return

true if the setting is valid, false otherwise.

bool ShowOverrideInternalColor (out HPS.VisibilityKit out_kit)

Shows the override internal color settings.

Param out_kit

Which override internal color types will be used.

Return

true if the setting is valid, false otherwise.

bool ShowPolygonHandedness (out HPS.Drawing.Handedness out_handedness)

Shows the polygon handedness.

Param out_handedness

The handedness used for geometry.

Return

true if the setting is valid, false otherwise.

bool ShowVertexDecimation (out float out_zero_to_one)

Shows the vertex decimation setting.

Param out_zero_to_one

The value set for vertex decimation.

Return

true if the setting is valid, false otherwise.

bool ShowVertexDisplacement (out bool out_state, out int out_buckets)

Shows the vertex displacement setting.

Param out_state

Whether vertex displacement will be used.

Param out_buckets

The distance to move vertices away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowVertexRandomization (out bool out_state)

Shows the vertex randomization setting.

Param out_state

Whether vertex randomization will be used.

Return

true if the setting is valid, false otherwise.

bool ShowWorldHandedness (out HPS.Drawing.Handedness out_handedness)

Shows the world handedness.

Param out_handedness

The handedness of the underlying coordinate system.

Return

true if the setting is valid, false otherwise.

HPS.DrawingAttributeKit UnsetClipRegion ()

Removes a clip region.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetDeferral ()

Removes a deferral setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetDepthRange ()

Removes a depth range setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetFaceDisplacement ()

Removes a face displacement setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetGeneralDisplacement ()

Removes a general displacement setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetOverlay ()

Removes an overlay setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetOverrideInternalColor ()

Removes a override internal color setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetPolygonHandedness ()

Removes a polygon handedness setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetVertexDecimation ()

Removes a vertex decimation setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetVertexDisplacement ()

Removes a vertex displacement setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetVertexRandomization ()

Removes a vertex randomization setting.

Return

A reference to this object.

HPS.DrawingAttributeKit UnsetWorldHandedness ()

Removes a world handedness setting.

Return

A reference to this object.

Public Static Functions

HPS.DrawingAttributeKit GetDefault ()

Creates a DrawingAttributeKit 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 DrawingAttributeKit with the default settings.

class DrawingOverlayArray : public HPS::InternalHPSBlittableArray<HPS.Drawing.Overlay>
class DrawWindowEvent : public HPS.DriverEvent

The DrawWindowEvent class is the event generated when the driver draws the window background for each subwindow.

Public Types

enum BackgroundTextureFormat

Enumerates the various texture formats supported by the DrawTexturedBackground function .

Values:

RGBA

Handle to single GL_RGBA format texture.

BGRA

Same as RGBA but with swapped red and blue channels.

ImageExternal

Handle to single OES_EGL_image_external texture.

LumaChromaPair

Pointer to array of two texture handles for a YCbCr texture pair (For OpenGL ES, the formats should be GL_LUMINANCE and GL_LUMINANCE_ALPHA. For Metal, the formats should be MTLPixelFormatR8Unorm and MTLPixelFormatRG8Unorm).

Public Functions

void DrawTexturedBackground (IntPtr in_texture, HPS.DrawWindowEvent.BackgroundTextureFormat in_format, HPS.MatrixKit in_matrix, HPS.IntRectangle in_extent)

Function for drawing a platform-specific texture in place of the normal window background.

Param in_texture

The platform-specific texture handle(s)

Param in_format

The format of the texture(s) provided through the ‘in_texture’ parameter.

Param in_matrix

A transformation to apply to the uv coordinates used to draw the texture to the window.

Param in_extent

The screen extent for the window background to be drawn.

class DriverEvent : public IDisposable

The DriverEvent class is the common base class of all driver events. A driver event represents a specific action the driver performs during an update. DriverEvents occur on the driver updater thread.

Subclassed by HPS.DrawWindowEvent, HPS.FinishPictureEvent, HPS.InitPictureEvent

Public Functions

IntPtr GetClassID ()

Returns a unique identifier that is shared by all objects of the same class.

class DriverEventHandler : public HPS.Object

The DriverEventHandler class is the base class for driver event handlers. Custom driver event handlers should inherit from this.

Public Functions

void Handle (HPS.DriverEvent in_event)

Function that gets triggered if this DriverEventHandler receives an event it is subscribed to. This should be overridden by subclasses of DriverEventHandler to perform any custom behavior. This will be called on the driver updater thread.

Param in_event

Event which was triggered.

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.

struct DVector
class DVectorArray : public HPS::InternalHPSBlittableArray<HPS.DVector>
class Edge : public IDisposable

This is the Edge Class

Public Types

enum SizeUnits

Edge Size Units

Values:

ScaleFactor

A unitless linear scaling factor. A value of 2.0 will cause edges to be rendered twice as thick. A value of 1.0 will result in a visually pleasing device-dependent edge weight. A value of 0 will result in the minimal weight edge supported by the device.

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

class EdgeAttributeControl : public HPS.Control

The HPS.EdgeAttributeControl class is a smart pointer that is tied to a database object. Using this control, you can manipulate the various attributes associated with geometry edges. Edges are present on any piece of facetted geometry.

This table lists default values for the various segment attributes accessible from HPS.EdgeAttributeControl.

Public Functions

EdgeAttributeControl (HPS.EdgeAttributeControl in_that)

Initializes a control tied to the same object as in_that.

EdgeAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.EdgeAttributeControl SetHardAngle (float in_angle)

Sets the angle between adjacent faces necessary for the edge between them to be considered a hard edge.

Param in_angle

The angle, in degrees, between the adjacent faces necessary for a hard edge.

Return

A reference to this object.

HPS.EdgeAttributeControl SetPattern (string in_pattern_name)

Specifies the pattern of edges.

See

Programming Guide: Line Patterns

Return

A reference to this object.

HPS.EdgeAttributeControl SetWeight (float in_weight)

Sets the weight of lines drawn in edge rendering.

Param in_weight

The weight value for edges.

Return

A reference to this object.

HPS.EdgeAttributeControl SetWeight (float in_weight, HPS.Edge.SizeUnits in_units)

Sets the weight of lines drawn in edge rendering.

Param in_weight

The weight value for edges.

Param in_units

The units applied to in_weight.

Return

A reference to this object.

bool ShowHardAngle (out float out_angle)

Shows the weight of lines drawn in edge rendering.

Param out_angle

The angle, in degrees, between the adjacent faces necessary for a hard edge.

Return

true if the setting is valid, false otherwise.

bool ShowPattern (out string out_pattern_name)

Shows the line pattern of the edges.

Return

true if the setting is valid, false otherwise.

bool ShowWeight (out float out_weight, out HPS.Edge.SizeUnits out_units)

Shows the weight of lines drawn in edge rendering.

Param out_weight

The weight value for edges.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

HPS.EdgeAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by EdgeAttributeKit.GetDefault().

Return

A reference to this object.

HPS.EdgeAttributeControl UnsetHardAngle ()

Removes the hard edge angle setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by EdgeAttributeKit.GetDefault().

Return

A reference to this object.

HPS.EdgeAttributeControl UnsetPattern ()

Removes the line pattern setting for edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by EdgeAttributeKit.GetDefault().

Return

A reference to this object.

HPS.EdgeAttributeControl UnsetWeight ()

Removes the weight setting for edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by EdgeAttributeKit.GetDefault().

Return

A reference to this object.

class EdgeAttributeKit : public HPS.Kit

The HPS.EdgeAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.EdgeAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

EdgeAttributeKit ()

Initializes an empty kit.

EdgeAttributeKit (HPS.EdgeAttributeKit in_kit)

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

Param in_kit

The source object to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.EdgeAttributeKit in_kit)

Check if the source EdgeAttributeKit is equivalent to this object.

Param in_kit

The source EdgeAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source EdgeAttributeKit into this object.

Param in_kit

The source EdgeAttributeKit to copy.

HPS.EdgeAttributeKit SetHardAngle (float in_angle)

Sets the angle between adjacent faces necessary for the edge between them to be considered a hard edge.

Param in_angle

The angle, in degrees, between the adjacent faces necessary for a hard edge.

Return

A reference to this object.

HPS.EdgeAttributeKit SetPattern (string in_pattern_name)

Specifies the pattern of edges.

See

Programming Guide: Line Patterns

Return

A reference to this object.

HPS.EdgeAttributeKit SetWeight (float in_weight)

Sets the weight of lines drawn in edge rendering.

Param in_weight

The weight value for edges.

Return

A reference to this object.

HPS.EdgeAttributeKit SetWeight (float in_weight, HPS.Edge.SizeUnits in_units)

Sets the weight of lines drawn in edge rendering.

Param in_weight

The weight value for edges.

Param in_units

The units applied to in_weight.

Return

A reference to this object.

void Show (out HPS.EdgeAttributeKit out_kit)

Copies all settings from this EdgeAttributeKit into the given EdgeAttributeKit.

Param out_kit

The EdgeAttributeKit to populate with the contents of this object.

bool ShowHardAngle (out float out_angle)

Shows the weight of lines drawn in edge rendering.

Param out_angle

The angle, in degrees, between the adjacent faces necessary for a hard edge.

Return

true if the setting is valid, false otherwise.

bool ShowPattern (out string out_pattern_name)

Shows the line pattern of the edges.

Return

true if the setting is valid, false otherwise.

bool ShowWeight (out float out_weight, out HPS.Edge.SizeUnits out_units)

Shows the weight of lines drawn in edge rendering.

Param out_weight

The weight value for edges.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

HPS.EdgeAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.EdgeAttributeKit UnsetHardAngle ()

Removes the hard edge angle setting.

Return

A reference to this object.

HPS.EdgeAttributeKit UnsetPattern ()

Removes the line pattern setting for edges.

Return

A reference to this object.

HPS.EdgeAttributeKit UnsetWeight ()

Removes the weight setting for edges.

Return

A reference to this object.

Public Static Functions

HPS.EdgeAttributeKit GetDefault ()

Creates a EdgeAttributeKit 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 EdgeAttributeKit with the default settings.

class EllipseGlyphElement : public HPS.GlyphElement

The EllipseGlyphElement class is a user space object. It is used to add ellipse elements to glyphs.

Public Functions

EllipseGlyphElement ()

The default constructor creates an empty EllipseGlyphElement object.

EllipseGlyphElement (HPS.EllipseGlyphElement in_that)

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

Param in_that

The source EllipseGlyphElement to copy.

EllipseGlyphElement (HPS.GlyphElement in_that)

This constructor creates a EllipseGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of an ellipse glyph element. Otherwise the copy will fail and the resulting EllipseGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

EllipseGlyphElement (HPS.GlyphPoint in_lower_left, HPS.GlyphPoint in_upper_right)

This constructor creates a EllipseGlyphElement with the lower left and upper right points for the bounding box which circumscribes the ellipse.

Param in_lower_left

The lower left point for the bounding box which circumscribes the ellipse.

Param in_upper_right

The upper right point for the bounding box which circumscribes the ellipse.

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 SetLowerLeft (HPS.GlyphPoint in_point)

Sets the lower left point for the bounding box which circumscribes the ellipse for this EllipseGlyphElement.

Param in_point

The lower left point for the bounding box which circumscribes the ellipse.

void SetPoints (HPS.GlyphPoint in_lower_left, HPS.GlyphPoint in_upper_right)

Sets the lower left and upper right points for the bounding box which circumscribes the ellipse for this EllipseGlyphElement.

Param in_lower_left

The lower left point for the bounding box which circumscribes the ellipse.

Param in_upper_right

The upper right point for the bounding box which circumscribes the ellipse.

void SetUpperRight (HPS.GlyphPoint in_point)

Sets the upper right point for the bounding box which circumscribes the ellipse for this EllipseGlyphElement.

Param in_point

The upper right point for the bounding box which circumscribes the ellipse.

bool ShowLowerLeft (out HPS.GlyphPoint out_point)

Shows the lower left point for the bounding box which circumscribes the ellipse for this EllipseGlyphElement.

Param out_point

The lower left point for the bounding box which circumscribes the ellipse.

Return

true if a lower left point was set, false otherwise.

bool ShowUpperRight (out HPS.GlyphPoint out_point)

Shows the upper right point for the bounding box which circumscribes the ellipse for this EllipseGlyphElement.

Param out_point

The upper right point for the bounding box which circumscribes the ellipse.

Return

true if an upper right point was set, false otherwise.

class EllipseKey : public HPS.GeometryKey

The EllipseKey class is a smart pointer to a database object. It is a handle to an ellipse inserted via SegmentKey.InsertEllipse.

Public Functions

void Consume (HPS.EllipseKit in_kit)

Completely replaces all settings on this EllipseKit with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this EllipseKit.

EllipseKey ()

The default constructor creates an uninitialized EllipseKey object. The Type() function will return Type.None.

EllipseKey (HPS.EllipseKey in_that)

The copy constructor creates an EllipseKey object that shares the underlying smart-pointer of the source EllipseKey.

Param in_that

The source EllipseKey to copy.

EllipseKey (HPS.Key in_that)

This constructor creates an EllipseKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an Ellipse key. Otherwise the copy will fail and the resulting EllipseKey will be invalid.

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

Replace those settings on this EllipseKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this EllipseKey.

HPS.EllipseKey SetCenter (HPS.Point in_center)

Sets the center point for the ellipse.

Param in_center

The center point for the ellipse.

Return

A reference to this EllipseKey.

HPS.EllipseKey SetMajor (HPS.Point in_major)

Sets the intersection point of the major axis and the ellipse.

Param in_major

The intersection point of the major axis and the ellipse.

Return

A reference to this EllipseKey.

HPS.EllipseKey SetMinor (HPS.Point in_minor)

Sets the intersection point of the minor axis and the ellipse.

Param in_minor

The intersection point of the minor axis and the ellipse.

Return

A reference to this EllipseKey.

void Show (out HPS.EllipseKit out_kit)

Copy the contents of this EllipseKey into the specified kit.

Param out_kit

The kit to populate with the contents of this EllipseKey.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for the ellipse.

Param out_center

The center point for the ellipse.

Return

true if a center was set, false otherwise.

bool ShowMajor (out HPS.Point out_major)

Shows the intersection point of the major axis and the ellipse.

Param out_major

The intersection point of the major axis and the ellipse.

Return

true if an intersection point with the major axis was set, false otherwise.

bool ShowMinor (out HPS.Point out_minor)

Shows the intersection point of the minor axis and the ellipse.

Param out_minor

The intersection point of the minor axis and the ellipse.

Return

true if an intersection point with the minor axis was set, false otherwise.

class EllipseKit : public HPS.Kit

The EllipseKit class is a user space object. It is the kit analog to an EllipseKey.

Public Functions

void Consume (HPS.EllipseKit in_kit)

Copies the source EllipseKit into this EllipseKit and resets the source kit.

Param in_kit

The source EllipseKit to consume.

EllipseKit ()

The default constructor creates an empty EllipseKit object.

EllipseKit (HPS.EllipseKit in_kit)

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

Param in_kit

The source EllipseKit to copy.

override bool Empty ()

Indicates whether this EllipseKit has any values set on it.

Return

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

bool Equals (HPS.EllipseKit in_kit)

Check if the source EllipseKit is equivalent to this EllipseKit.

Param in_kit

The source EllipseKit to compare to this EllipseKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source EllipseKit into this EllipseKit.

Param in_kit

The source EllipseKit to copy.

HPS.EllipseKit SetCenter (HPS.Point in_center)

Sets the center point for the ellipse.

Param in_center

The center point for the ellipse.

Return

A reference to this EllipseKit.

HPS.EllipseKit SetMajor (HPS.Point in_major)

Sets the intersection point of the major axis and the ellipse.

Param in_major

The intersection point of the major axis and the ellipse.

Return

A reference to this EllipseKit.

HPS.EllipseKit SetMinor (HPS.Point in_minor)

Sets the intersection point of the minor axis and the ellipse.

Param in_minor

The intersection point of the minor axis and the ellipse.

Return

A reference to this EllipseKit.

HPS.EllipseKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the EllipseKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.EllipseKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.EllipseKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.EllipseKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.EllipseKit out_kit)

Copies this EllipseKit into the given EllipseKit.

Param out_kit

The EllipseKit to populate with the contents of this EllipseKit.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for the ellipse.

Param out_center

The center point for the ellipse.

Return

true if a center was set, false otherwise.

bool ShowMajor (out HPS.Point out_major)

Shows the intersection point of the major axis and the ellipse.

Param out_major

The intersection point of the major axis and the ellipse.

Return

true if an intersection point with the major axis was set, false otherwise.

bool ShowMinor (out HPS.Point out_minor)

Shows the intersection point of the minor axis and the ellipse.

Param out_minor

The intersection point of the minor axis and the ellipse.

Return

true if an intersection point with the minor axis was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.EllipseKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.EllipseKit UnsetCenter ()

Removes the center point for the ellipse.

Return

A reference to this EllipseKit.

HPS.EllipseKit UnsetEverything ()

Removes all settings from this EllipseKit.

Return

A reference to this EllipseKit.

HPS.EllipseKit UnsetMajor ()

Removes the intersection point of the major axis and the ellipse.

Return

A reference to this EllipseKit.

HPS.EllipseKit UnsetMinor ()

Removes the intersection point of the minor axis and the ellipse.

Return

A reference to this EllipseKit.

HPS.EllipseKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.EllipseKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.EllipseKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class EllipseShapeElement : public HPS.ShapeElement

The EllipseShapeElement class is a user space object. It is used to define ellipse elements to make up shapes for text backgrounds.

Public Functions

EllipseShapeElement ()

The default constructor creates an empty EllipseShapeElement object.

EllipseShapeElement (HPS.EllipseShapeElement in_that)

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

Param in_that

The source EllipseShapeElement to copy.

EllipseShapeElement (HPS.ShapeElement in_that)

This constructor creates a EllipseShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of an ellipse shape element. Otherwise the copy will fail and the resulting EllipseShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

EllipseShapeElement (HPS.ShapePoint in_center, HPS.ShapePoint in_major_axis_point, HPS.ShapePoint in_minor_axis_point)

This constructor creates a EllipseShapeElement with the specified point array.

Param in_center

The center of the ellipse.

Param in_major_axis_point

A point defining the major axis of the ellipse

Param in_minor_axis_point

A point defining the minor axis of the ellipse.

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.

HPS.EllipseShapeElement SetCenter (HPS.ShapePoint in_center)

Sets the points for this EllipseShapeElement.

Param in_center

The center point of the ellipse.

HPS.EllipseShapeElement SetMajorAxisPoint (HPS.ShapePoint in_major_axis_point)

Sets a point on the major axis for this EllipseShapeElement.

Param in_major_axis_point

The point on the major axis of the ellipse.

HPS.EllipseShapeElement SetMinorAxisPoint (HPS.ShapePoint in_minor_axis_point)

Sets a point on the minor axis for this EllipseShapeElement.

Param in_minor_axis_point

The point on the minor axis of the ellipse.

bool ShowCenter (out HPS.ShapePoint out_center)

Shows the center point for this EllipseShapeElement.

Param out_center

The center point for the ellipse.

Return

true if a center point was set, false otherwise.

bool ShowMajorAxisPoint (out HPS.ShapePoint out_major_axis_point)

Shows the major axis point for this EllipseShapeElement.

Param out_major_axis_point

The major axis point for the ellipse.

Return

true if a major axis point was set, false otherwise.

bool ShowMinorAxisPoint (out HPS.ShapePoint out_minor_axis_point)

Shows the minor axis point for this EllipseShapeElement.

Param out_minor_axis_point

The minor axis point for the ellipse.

Return

true if a minor axis point was set, false otherwise.

class EllipticalArcKey : public HPS.GeometryKey

The EllipticalArcKey class is a smart pointer to a database object. It is a handle to an elliptical arc inserted via SegmentKey.InsertEllipticalArc.

Public Functions

void Consume (HPS.EllipticalArcKit in_kit)

Completely replaces all settings on this EllipticalArcKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this EllipticalArcKey.

EllipticalArcKey ()

The default constructor creates an uninitialized EllipticalArcKey object. The Type() function will return Type.None.

EllipticalArcKey (HPS.EllipticalArcKey in_that)

The copy constructor creates an EllipticalArcKey object that shares the underlying smart-pointer of the source EllipticalArcKey.

Param in_that

The source EllipticalArcKey to copy.

EllipticalArcKey (HPS.Key in_that)

This constructor creates an EllipticalArcKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an EllipticalArc key. Otherwise the copy will fail and the resulting EllipticalArcKey will be invalid.

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

Replace those settings on this EllipticalArcKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this EllipticalArcKey.

HPS.EllipticalArcKey SetCenter (HPS.Point in_center)

Sets the center point for the ellipse used to define the elliptical arc.

Param in_center

The center point for the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKey.

HPS.EllipticalArcKey SetEnd (float in_end)

Sets the normalized parametric value on the ellipse at which the elliptical arc ends. The value should be in the range [0.0f,1.0f] and be larger than the start value. It is defined such that 0.0f is the point where the major axis intersects the ellipse, and as the value increases it passes through the point at which the minor axis intersects the ellipse (0.25f), and that 1.0f maps to the same point as 0.0f.

Param in_end

The normalized parametric value on the ellipse at which the elliptical arc ends. This value should be in the range [0.0f,1.0f] and be larger than the start value.

Return

A reference to this EllipticalArcKey.

HPS.EllipticalArcKey SetMajor (HPS.Point in_major)

Sets the intersection point of the major axis and the ellipse used to define the elliptical arc.

Param in_major

The intersection point of the major axis and the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKey.

HPS.EllipticalArcKey SetMinor (HPS.Point in_minor)

Sets the intersection point of the minor axis and the ellipse used to define the elliptical arc.

Param in_minor

The intersection point of the minor axis and the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKey.

HPS.EllipticalArcKey SetStart (float in_start)

Sets the normalized parametric value on the ellipse at which the elliptical arc starts. The value should be in the range [0.0f,1.0f] and be smaller than the end value. It is defined such that 0.0f is the point where the major axis intersects the ellipse, and as the value increases it passes through the point at which the minor axis intersects the ellipse (0.25f), and that 1.0f maps to the same point as 0.0f.

Param in_start

The normalized parametric value on the ellipse at which the elliptical arc starts. This value should be in the range [0.0f,1.0f] and be smaller than the end value.

Return

A reference to this EllipticalArcKey.

void Show (out HPS.EllipticalArcKit out_kit)

Copy the contents of this EllipticalArcKey into the specified kit.

Param out_kit

The kit to populate with the contents of this EllipticalArcKey.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for the ellipse used to define the elliptical arc.

Param out_center

The center point for the ellipse used to define the elliptical arc.

Return

true if a center was set, false otherwise.

bool ShowEnd (out float out_end)

Shows the normalized parametric value on the ellipse at which the elliptical arc ends.

Param out_end

The normalized parametric value on the ellipse at which the elliptical arc ends.

Return

true if a normalized parametric end value was set, false otherwise.

bool ShowMajor (out HPS.Point out_major)

Shows the intersection point of the major axis and the ellipse used to define the elliptical arc.

Param out_major

The intersection point of the major axis and the ellipse used to define the elliptical arc.

Return

true if an intersection point with the major axis was set, false otherwise.

bool ShowMinor (out HPS.Point out_minor)

Shows the intersection point of the minor axis and the ellipse used to define the elliptical arc.

Param out_minor

The intersection point of the minor axis and the ellipse used to define the elliptical arc.

Return

true if an intersection point with the minor axis was set, false otherwise.

bool ShowStart (out float out_start)

Shows the normalized parametric value on the ellipse at which the elliptical arc starts.

Param out_start

The normalized parametric value on the ellipse at which the elliptical arc starts.

Return

true if a normalized parametric start value was set, false otherwise.

class EllipticalArcKit : public HPS.Kit

The EllipticalArcKit class is a user space object. It is the kit analog to an EllipticalArcKey.

Public Functions

void Consume (HPS.EllipticalArcKit in_kit)

Copies the source EllipticalArcKit into this EllipticalArcKit and resets the source kit.

Param in_kit

The source EllipticalArcKit to consume.

EllipticalArcKit ()

The default constructor creates an empty EllipticalArcKit object.

EllipticalArcKit (HPS.EllipticalArcKit in_kit)

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

Param in_kit

The source EllipticalArcKit to copy.

override bool Empty ()

Indicates whether this EllipticalArcKit has any values set on it.

Return

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

bool Equals (HPS.EllipticalArcKit in_kit)

Check if the source EllipticalArcKit is equivalent to this EllipticalArcKit.

Param in_kit

The source EllipticalArcKit to compare to this EllipticalArcKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source EllipticalArcKit into this EllipticalArcKit.

Param in_kit

The source EllipticalArcKit to copy.

HPS.EllipticalArcKit SetCenter (HPS.Point in_center)

Sets the center point for the ellipse used to define the elliptical arc.

Param in_center

The center point for the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit SetEnd (float in_end)

Sets the normalized parametric value on the ellipse at which the elliptical arc ends. The value should be in the range [0.0f,1.0f] and be larger than the start value. It is defined such that 0.0f is the point where the major axis intersects the ellipse, and as the value increases it passes through the point at which the minor axis intersects the ellipse (0.25f), and that 1.0f maps to the same point as 0.0f.

Param in_end

The normalized parametric value on the ellipse at which the elliptical arc ends. This value should be in the range [0.0f,1.0f] and be larger than the start value.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit SetMajor (HPS.Point in_major)

Sets the intersection point of the major axis and the ellipse used to define the elliptical arc.

Param in_major

The intersection point of the major axis and the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit SetMinor (HPS.Point in_minor)

Sets the intersection point of the minor axis and the ellipse used to define the elliptical arc.

Param in_minor

The intersection point of the minor axis and the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the EllipticalArcKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.EllipticalArcKit SetStart (float in_start)

Sets the normalized parametric value on the ellipse at which the elliptical arc starts. The value should be in the range [0.0f,1.0f] and be smaller than the end value. It is defined such that 0.0f is the point where the major axis intersects the ellipse, and as the value increases it passes through the point at which the minor axis intersects the ellipse (0.25f), and that 1.0f maps to the same point as 0.0f.

Param in_start

The normalized parametric value on the ellipse at which the elliptical arc starts. This value should be in the range [0.0f,1.0f] and be smaller than the end value.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.EllipticalArcKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.EllipticalArcKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.EllipticalArcKit out_kit)

Copies this EllipticalArcKit into the given EllipticalArcKit.

Param out_kit

The EllipticalArcKit to populate with the contents of this EllipticalArcKit.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for the ellipse used to define the elliptical arc.

Param out_center

The center point for the ellipse used to define the elliptical arc.

Return

true if a center was set, false otherwise.

bool ShowEnd (out float out_end)

Shows the normalized parametric value on the ellipse at which the elliptical arc ends.

Param out_end

The normalized parametric value on the ellipse at which the elliptical arc ends.

Return

true if a normalized parametric end value was set, false otherwise.

bool ShowMajor (out HPS.Point out_major)

Shows the intersection point of the major axis and the ellipse used to define the elliptical arc.

Param out_major

The intersection point of the major axis and the ellipse used to define the elliptical arc.

Return

true if an intersection point with the major axis was set, false otherwise.

bool ShowMinor (out HPS.Point out_minor)

Shows the intersection point of the minor axis and the ellipse used to define the elliptical arc.

Param out_minor

The intersection point of the minor axis and the ellipse used to define the elliptical arc.

Return

true if an intersection point with the minor axis was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowStart (out float out_start)

Shows the normalized parametric value on the ellipse at which the elliptical arc starts.

Param out_start

The normalized parametric value on the ellipse at which the elliptical arc starts.

Return

true if a normalized parametric start value was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.EllipticalArcKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.EllipticalArcKit UnsetCenter ()

Removes the center point for the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit UnsetEnd ()

Removes the normalized parametric value on the ellipse at which the elliptical arc ends.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit UnsetEverything ()

Removes all settings from this EllipticalArcKit.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit UnsetMajor ()

Removes the intersection point of the major axis and the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit UnsetMinor ()

Removes the intersection point of the minor axis and the ellipse used to define the elliptical arc.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.EllipticalArcKit UnsetStart ()

Removes the normalized parametric value on the ellipse at which the elliptical arc starts.

Return

A reference to this EllipticalArcKit.

HPS.EllipticalArcKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.EllipticalArcKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class EllipticalArcShapeElement : public HPS.ShapeElement

The EllipticalArcShapeElement class is a user space object. It is used to define elliptical arc elements to make up shapes for text backgrounds.

Public Functions

EllipticalArcShapeElement ()

The default constructor creates an empty EllipticalArcShapeElement object.

EllipticalArcShapeElement (HPS.EllipticalArcShapeElement in_that)

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

Param in_that

The source EllipticalArcShapeElement to copy.

EllipticalArcShapeElement (HPS.ShapeElement in_that)

This constructor creates a EllipticalArcShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of an elliptical arc shape element. Otherwise the copy will fail and the resulting EllipticalArcShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

EllipticalArcShapeElement (HPS.ShapePoint in_center, HPS.ShapePoint in_major_axis_point, HPS.ShapePoint in_minor_axis_point)

This constructor creates a EllipticalArcShapeElement with the specified parameters.

Param in_center

The center point of the arc.

Param in_major_axis_point

A point defining the major axis of the arc.

Param in_minor_axis_point

A point defining the minor axis of the arc.

EllipticalArcShapeElement (HPS.ShapePoint in_center, HPS.ShapePoint in_major_axis_point, HPS.ShapePoint in_minor_axis_point, float in_start)

This constructor creates a EllipticalArcShapeElement with the specified parameters.

Param in_center

The center point of the arc.

Param in_major_axis_point

A point defining the major axis of the arc.

Param in_minor_axis_point

A point defining the minor axis of the arc.

Param in_start

The start of the arc, in degrees.

EllipticalArcShapeElement (HPS.ShapePoint in_center, HPS.ShapePoint in_major_axis_point, HPS.ShapePoint in_minor_axis_point, float in_start, float in_end)

This constructor creates a EllipticalArcShapeElement with the specified parameters.

Param in_center

The center point of the arc.

Param in_major_axis_point

A point defining the major axis of the arc.

Param in_minor_axis_point

A point defining the minor axis of the arc.

Param in_start

The start of the arc, in degrees.

Param in_end

The end of the arc, in degrees.

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.

HPS.EllipticalArcShapeElement SetCenter (HPS.ShapePoint in_center)

Sets the center point for this EllipticalArcShapeElement.

Param in_center

The center point of the arc.

HPS.EllipticalArcShapeElement SetEnd (float in_end)

Sets the end for this EllipticalArcShapeElement.

Param in_end

The ending point of this arc, expressed in degrees

HPS.EllipticalArcShapeElement SetMajorAxisPoint (HPS.ShapePoint in_major_axis_point)

Sets the major axis point for this EllipticalArcShapeElement.

Param in_major_axis_point

A point defining the major axis of the arc.

HPS.EllipticalArcShapeElement SetMinorAxisPoint (HPS.ShapePoint in_minor_axis_point)

Sets the minor axis point for this EllipticalArcShapeElement.

Param in_minor_axis_point

A point defining the minor axis of the arc.

HPS.EllipticalArcShapeElement SetStart (float in_start)

Sets the start for this EllipticalArcShapeElement.

Param in_start

The starting point of this arc, expressed in degrees

bool ShowCenter (out HPS.ShapePoint out_center)

Shows the center point for this EllipticalArcShapeElement.

Param out_center

The center point for the arc.

Return

true if a center point was set, false otherwise.

bool ShowEnd (out float out_end)

Shows the end point for this EllipticalArcShapeElement.

Param out_end

The ending point of this arc, expressed in degrees

Return

true if an end point was set, false otherwise.

bool ShowMajorAxisPoint (out HPS.ShapePoint out_major_axis_point)

Shows the major axis point for this EllipticalArcShapeElement.

Param out_major_axis_point

A point defining the major axis of the arc.

Return

true if a major axis point was set, false otherwise.

bool ShowMinorAxisPoint (out HPS.ShapePoint out_minor_axis_point)

Shows the minor axis point for this EllipticalArcShapeElement.

Param out_minor_axis_point

A point defining the minor axis of the arc.

Return

true if a minor axis point was set, false otherwise.

bool ShowStart (out float out_start)

Shows the start point for this EllipticalArcShapeElement.

Param out_start

The starting point of this arc, expressed in degrees

Return

true if a start point was set, false otherwise.

class Emergency : public IDisposable

The Emergency class is a concept class for Emergency codes.

Public Types

enum Code

This describe the types of conditions that can trigger an EmergencyHandler.

Values:

Unknown

Emergencies type unknown.

Fatal

Fatal fault has occurred. Saving the Database is not possible and the EmergencyHandler must abort. After a fatal error, no Visualize functions may be called - to do so will result in a crash or deadlock.

SoftMemoryLimit

Soft memory limit breached. This limit is considered to be breached when Visualize has allocated the amount of memory specified by a previous call to HPS.Database.SetSoftMemoryLimit.

HardMemoryLimit

Hard memory limit breached. This limit is considered to be breached when an operating system memory allocation has failed, and indicates that Visualize is not able to allocate memory required for proceeding with normal operation.

class EmergencyHandler : public IDisposable

The EmergencyHandler class is the base class for an custom EmergencyHandler. An EmergencyHandler allows the developer to provide custom logic to handle ‘emergency’ situations. For example, one can set a soft memory limit using HPS.Database.SetSoftMemoryLimit. If that limit is hit, Visualize will call the EmergencyHandler.

An EmergencyHandler is set by calling HPS.Database.SetEmergencyHandler. Only one EmergencyHandler can be set on the Database. If you try to set a second handler, the first one will be overwritten.

The default emergency handler will print a few diagnostics to stdout (when run in debug mode), but will make no attempt to recover from the emergency condition.

Subclassed by HPS.EmergencyHandler.EmergencyHandlerUnknown

Public Functions

EmergencyHandler ()

A constructor for an EmergencyHandler.

IntPtr GetClassID ()

Returns a unique identifier that is shared by all objects of the same class.

abstract void Handle (string message, HPS.Emergency.Code code)

Visualize will call the EmergencyHandler.Handle method if any of the handler-enabling conditions are reached. The Emergency.Code value describes the type of condition. IMPORTANT: calling any Visualize API from your EmergencyHandler.Handle function (for any emergency code) may cause a deadlock.

class ErrorEvent : public HPS.Event

The ErrorEvent class is the event that will be generated if an asynchronous error occurs.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this ErrorEvent.

Return

A copy of this ErrorEvent.

bool Equals (HPS.ErrorEvent in_that)

Check if the source object is equivalent to this object.

Return

true if the objects are equivalent, false otherwise.

ErrorEvent ()

The default constructor creates an ErrorEvent object with an empty message and code of Unknown.

ErrorEvent (HPS.Event in_event)

This constructor converts an EventObject to an ErrorEvent object.

Param in_event

The EventObject to be converted.

ErrorEvent (string in_message)

This constructor creates an ErrorEvent object with a specified message and code of Unknown.

Param in_message

A message describing the nature of the error.

ErrorEvent (string in_message, HPS.Info.Code in_code)

This constructor creates a ErrorEvent object with a specified message and code.

Param in_message

A message describing the nature of the error.

Param in_code

A code describing the nature of the error.

class Event : public IDisposable

The Event class is the common base class of all events. An event can be an error, input event, or a custom event. Events occur asynchronously and are processed in order from an event queue.

Subclassed by HPS.ErrorEvent, HPS.Event.EventUnknown, HPS.FocusLostEvent, HPS.HideKeyboardEvent, HPS.HighlightEvent, HPS.ImportStatusEvent, HPS.InformationEvent, HPS.InputEvent, HPS.ShowKeyboardEvent, HPS.StandAloneWindowEvent, HPS.Stream.ExportStartedEvent, HPS.Stream.ImportCompletedEvent, HPS.TextInputEvent, HPS.TimerTickEvent, HPS.UpdateCompletedEvent, HPS.WarningEvent

Public Types

enum Status

Event Status - returned from a notifier to give the status of the event.

Values:

InProgress

Event is still in progress.

Completed

Event has completed.

Failed

Event failed.

Public Functions

abstract HPS.Event Clone ()

This function is used to copy custom events classes. Users that create custom event classes must override this function to provide the proper copying behavior.

bool Drop (HPS.Event in_that_event)

This optional function is used to determine if the current event can be dropped based on the following event in the queue.

Event ()

A constructor for generating events from built-in or custom event ID’s.

Event (IntPtr in_channel)

A constructor for generating events from built-in or custom event ID’s.

IntPtr Freshen ()

This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available.

Return

A cookie representing the freshen category. Zero indicates a non-freshening event.

IntPtr GetChannel ()

Returns the channel ID assigned to an event.

double GetTimeStamp ()

Returns the time an event was injected into the event queue.

bool IsConsumable ()

Indicates whether an event will be consumed when it is handled or passed on to the next handler anyway.

class EventDispatcher : public HPS.Object

The EventDispatcher class is used for injecting any events and dealing with event handlers which handle those events.

Public Functions

bool Equals (HPS.EventDispatcher in_that)

Check if the source EventDispatcher is equivalent to this object.

Param in_that

The source EventDispatcher to compare to this object.

Return

true if the objects are equivalent, false otherwise.

EventDispatcher ()

The default constructor creates an uninitialized EventDispatcher object which cannot be subscribed to.

See

Database.CreateEventDispatcher()

EventDispatcher (HPS.EventDispatcher in_that)

The copy constructor creates an EventDispatcher object that points to the same underlying impl as the source EventDispatcher.

Param in_that

The source EventHandler to point to.

bool InjectEvent (HPS.Event in_event)

Inject the specified event and propagate it to all subscribed handlers in the order of subscription.

Param in_event

Event to inject and propagate.

Return

true if the event injection was successful, false otherwise.

HPS.EventNotifier InjectEventWithNotifier (HPS.Event in_event)

Inject the specified event and propagate it to all subscribed handlers in the order of subscription and return an EventNotifier associated with the injected event.

Param in_event

Event to inject and propagate.

Return

An event notifier associated with the injected event.

bool IsShutdown ()

Query whether the asynchronous shutdown has completed.

Return

true if the event dispatcher has shutdown, false otherwise.

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 SetName (string in_name)

Sets the EventDispatcher’s name

Param in_name

Name to set.

void ShowName (out string out_name)

Shows the EventDispatcher’s name

Param out_name

Current name of this EventDispatcher.

void Shutdown ()

Shutdown this EventDispatcher asynchronously. Any pending events injected into this EventDispatcher will be processed prior to shutdown, but no new events can be injected.

bool Subscribe (HPS.EventHandler in_handler, IntPtr in_type)

Add the specified event handler to the list of subscribers for events of the specified type on this EventDispatcher.

Param in_handler

Event handler to add to the subscriber list for events of the given type.

Param in_type

Type of event to add the handler for.

Return

true if the subscription was successful, false otherwise.

bool UnSubscribe (HPS.EventHandler in_handler)

Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher.

Param in_handler

Event handler to remove from the subscriber list for events of the given type.

Return

true if the unsubscription was successful, false otherwise.

bool UnSubscribe (HPS.EventHandler in_handler, IntPtr in_type)

Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher.

Param in_handler

Event handler to remove from the subscriber list for events of the given type.

Param in_type

Type of event to remove the handler for.

Return

true if the unsubscription was successful, false otherwise.

bool UnSubscribe (IntPtr in_type)

Remove the specified event handler from the list of subscribers for events of the specified type on this EventDispatcher.

Param in_type

Type of event to remove the handler for.

Return

true if the unsubscription was successful, false otherwise.

class EventHandler : public HPS.Object

The EventHandler class is the base class for any event handler that can be created. All custom event handlers should inherit from this.

Public Types

enum HandleResult

Enumeration of the values the EventHandler uses to indicate if it handled an event.

Values:

Handled

The event was handled by this EventHandler. Consume the event if possible.

NotHandled

The event was not handled by this EventHandler. Pass to the next handler if any or if possible.

Public Functions

EventHandler ()

The default constructor creates an EventHandler object not subscribed to any event.

EventHandler (HPS.EventHandler in_that)

The copy constructor creates a new EventHandler object that points to the same underlying impl as the source EventHandler.

Param in_that

The source EventHandler to point to.

HPS.EventHandler.HandleResult Handle (HPS.Event in_event)

Function that gets triggered if this EventHandler receives an event it is subscribed to. This should be overridden by subclasses of EventHandler to perform any custom behavior.

Param in_event

Event which was triggered.

Return

Handled if the event was handled, NotHandled otherwise.

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.

override void Reset ()

Resets this object to its initial, uninitialized state.

void Shutdown ()

Notifies the EventDispatcher that this handler is being invalidated and no further events should be dispatched to it. This method must be called in any derived class destructors.

bool Subscribe (HPS.EventDispatcher in_dispatcher, IntPtr in_type)

Add this EventHandler object to the list of subscribers for events of the specified type on the specified EventDispatcher.

Param in_dispatcher

Dispatcher from which to receive events of the given type.

Param in_type

Type of event to receive from the dispatcher.

Return

true if the subscription was successful, false otherwise.

bool UnSubscribe (HPS.EventDispatcher in_dispatcher)

Remove this EventHandler object from the list of subscribers for all events on the specified EventDispatcher.

Param in_dispatcher

Dispatcher from which to no longer receive events.

Return

true if the unsubscription was successful, false otherwise.

bool UnSubscribe (HPS.EventDispatcher in_dispatcher, IntPtr in_type)

Remove this EventHandler object from the list of subscribers for events of the specified type on the specified EventDispatcher.

Param in_dispatcher

Dispatcher from which to no longer receive events of the given type.

Param in_type

Type of event to no longer receive from the dispatcher.

Return

true if the unsubscription was successful, false otherwise.

void UnSubscribeEverything ()

Remove this EventHandler object from all events on all EventDispatchers.

class EventNotifier : public HPS.Object

The EventNotifier class is a smart pointer that is associated with an event object. It is a special type of control that is used for synchronizing with an event’s completion.

Public Functions

void Assign (HPS.EventNotifier in_that)

Share the underlying smart-pointer of the EventNotifier source.

Param in_that

The EventNotifier source of the assignment.

EventNotifier ()

The default constructor creates an EventNotifier object not associated with any event.

EventNotifier (HPS.EventNotifier in_that)

The copy constructor creates a new EventNotifier that is associated with the same event as the source EventNotifier.

Param in_that

The source EventNotifier to copy.

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.

HPS.Event.Status Status ()

Query the status of the event for this notifier.

Return

The current state of the event.

HPS.EventNotifier Wait ()

Cause this thread to sleep until the event for this notifier has been handled.

Return

A reference to this EventNotifier.

class Exception : public Exception

Subclassed by HPS.AbstractMethodException, HPS.IOException, HPS.IndexOutOfRangeException, HPS.InvalidLicenseException, HPS.InvalidObjectException, HPS.InvalidOperationException, HPS.InvalidSpecificationException

class Extent : public IDisposable

The Extent class is a concept class that contains information about various extent options.

class FinishPictureEvent : public HPS.DriverEvent

The FinishPictureEvent class is the event generated when the driver finishes the update and puts the rendered image on screen (except for OffscreenWindows).

class Float : public IDisposable

The Float class is a concept class that exposes a number of useful utilities for working with floating point numbers.

Public Static Functions

bool Equals (float a, float b)

Checks two floats for equality within a specified tolerance. The tolerance is specified in float increments that scale with the floats themselves.

bool Equals (float a, float b, int tolerance)

Checks two floats for equality within a specified tolerance. The tolerance is specified in float increments that scale with the floats themselves.

bool IsAbnormal (float a)

See if the value is not “normal” (infinite or NaN)

bool IsInfinite (float a)

See if the value is either infinity

bool IsNAN (float a)

See if the value is Not-A-Number

class FloatArray : public HPS::InternalHPSBlittableArray<float>
class FocusLostEvent : public HPS.Event

The FocusLostEvent class is the event that is generated when an application loses focus

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this FocusLostEvent.

Return

A copy of this FocusLostEvent.

FocusLostEvent ()

The default constructor creates a FocusLostEvent.

class FontInfoState : public HPS.Object

The FontInfoState class is a user space object, useful for carrying a group attribute settings.

Public Functions

void Assign (HPS.FontInfoState in_that)

Copies the source FontInfoState into this FontInfoState.

Param in_that

The source LocatorState to copy.

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.FontInfoState in_kit)

Check if the source FontInfoState is equivalent to this object.

Param in_kit

The source FontInfoState to compare to this object.

Return

true if the objects are equivalent, false otherwise.

FontInfoState ()

Initializes an empty State.

FontInfoState (HPS.FontInfoState in_kit)

Copies the kit in_kit into this kit.

string GetName ()

Gets the name of this font.

Return

The name of the font in UTF8 format.

bool GetShellConvertibility ()

Gets the shell convertibility of this font. This determines whether or not the font can be converted into a Visualize shell.

Return

A reference to this object.

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

Copies the source FontInfoState into this object.

Param in_kit

The source object to copy.

void Show (out HPS.FontInfoState out_kit)

Copies this object into the given FontInfoState.

Param out_kit

The FontInfoState to populate with the contents of this object.

bool ShowSystemName (out string out_name)

Shows the system name for this font.

Return

true if the system name is available, false otherwise.

class FontSearchResults : public HPS.Object

The FontSearchResults class is a smart-pointer to a database object. It contains the results of a Find operation.

Public Functions

void Assign (HPS.FontSearchResults in_search_results)

Share the underlying smart-pointer if the assignment source. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_search_results

The source of the assignment.

FontSearchResults (HPS.FontSearchResults in_search_results)

The copy constructor creates a new FontSearchResults object that shares the underlying smart-pointer of the source.

Param in_search_results

The source of the copy.

ulong GetCount ()

Gets the number of items that were found in the associated search.

Return

The number of unique items found.

HPS.FontSearchResultsIterator GetIterator ()

Returns a FontSearchResultsIterator used to iterate through the found search results.

Return

An iterator pointing to the beginning of the search results list.

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.

override void Reset ()

Resets this object to its initial, uninitialized state.

class FontSearchResultsIterator : public HPS.Object

An iterator used for traversing results from a search on an associated FontSearchResults object.

Public Functions

FontSearchResultsIterator ()

The default constructor creates a new FontSearchResultsIterator object that is not associated with any FontSearchResults object.

FontSearchResultsIterator (HPS.FontSearchResultsIterator in_search_results_iterator)

The copy constructor initializes a new FontSearchResultsIterator object that is associated with the same FontSearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Param in_search_results_iterator

The source of the copy.

HPS.FontInfoState GetItem ()

Returns the FontInfoState that this iterator is currently pointing at. Throws exception if iterator is not valid. This method is functionally equivalent to the overloaded operator*.

Return

The current item.

bool IsValid ()

Queries the validity of this iterator location. Invalid locations would include uninitialized iterators and iterators that had walked past the last element.

Return

true if this iterator is pointing to a valid item, false otherwise.

void Next ()

Advances the iterator to the next search result item

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.

override void Reset ()

Resets iterator to the beginning of the associated search results.

void Set (HPS.FontSearchResultsIterator in_search_results_iterator)

Copies a FontSearchResultsIterator object, associating this object with the same FontSearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_search_results_iterator

The source of the copy.

class GeometryKey : public HPS.Key

Subclassed by HPS.CircleKey, HPS.CircularArcKey, HPS.CircularWedgeKey, HPS.CuttingSectionKey, HPS.CylinderKey, HPS.DistantLightKey, HPS.EllipseKey, HPS.EllipticalArcKey, HPS.GridKey, HPS.InfiniteLineKey, HPS.LineKey, HPS.MarkerKey, HPS.MeshKey, HPS.NURBSCurveKey, HPS.NURBSSurfaceKey, HPS.PolygonKey, HPS.ReferenceKey, HPS.ShellKey, HPS.SphereKey, HPS.SpotlightKey, HPS.TextKey

Public Functions

GeometryKey ()

The default constructor creates an uninitialized GeometryKey object. The Type() function will return Type.None.

GeometryKey (HPS.GeometryKey in_that)

The copy constructor creates a GeometryKey object that shares the underlying smart-pointer of the source GeometryKey.

Param in_that

The source GeometryKey to copy.

GeometryKey (HPS.Key in_that)

This constructor creates a GeometryKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really a type of geometry key. Otherwise the copy will fail and the resulting GeometryKey will be invalid.

Param in_that

The source Key to copy.

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.

HPS.GeometryKey SetPriority (int in_priority)

Assigns a drawing priority value to the geometry. It affects the order in which the geometry is rendered when the rendering algorithm is set to Priority. All geometry has a default drawing priority assigned based on the order of insertion into the segment.

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority; higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.GeometryKey SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this key.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this key.

HPS.GeometryKey SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this key.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this key.

HPS.GeometryKey SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this key.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this key.

bool ShowBounding (out HPS.BoundingKit out_kit)

Shows the bounding of this geometry.

Param out_kit

The BoundingKit that is set on this GeometryKey

Return

False if no bounding exists.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority; higher priority items are drawn on top of lower priority items.

Return

true if a priority was specified, false otherwise.

ulong ShowReferrers (out HPS.ReferenceKey[] out_references)

Shows the all the references to this key.

Param out_references

The list of all references to this key.

Return

The number of references to this key.

ulong ShowReferrers (out HPS.SegmentKey[] out_segments)

Shows the all the segments which contain references to this key. Note that while a segment may only appear once in the returned array, that segment could have multiple references to this key.

Param out_segments

The list of segments which contains references to this key.

Return

The number of segments which contain references to this key.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this key.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this key.

Param out_indices

An array of all user data indices set on this key.

Param out_data

An array of all user data set on this key.

Return

true if there is user data on this key, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this key.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this key.

Param out_indices

The user data indices set on this key.

Return

The number of user data indices set on this key.

HPS.GeometryKey UnsetAllUserData ()

Removes all user data from this key.

Return

A reference to this key.

HPS.GeometryKey UnsetPriority ()

Removes the drawing priority setting.

Return

A reference to this object.

HPS.GeometryKey UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this key.

Param in_index

The index of the user data to remove.

Return

A reference to this key.

HPS.GeometryKey UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this key.

Param in_indices

The indices of the user data to remove.

Return

A reference to this key.

class Glyph : public IDisposable

The Glyph class is a concept class for glyph-related enum classes.

Public Types

enum ColorSource

Enumerates the color modes that can apply to glyph elements.

Values:

Default

Glyph element color will be inherited from the color of the owning geometry.

Explicit

Glyph element color will be the specified RGBA color.

Indexed

Glyph element color will be the color at the specified index in the effective material palette.

enum Default

Enumerates the predefined glyphs in Visualize. These can be accessed via the GlyphKit.GetDefault function and their appearance can be seen here.

Values:

Circle

An unfilled circle.

CircleWithDot

An unfilled circle with a dot in the center.

CircleWithPlus

An unfilled circle with a plus sign in the center.

CircleWithTimes

An unfilled circle with a times sign (X-shaped) in the center.

CircleWithCircle

An unfilled circle with a smaller unfilled circle inside it.

SolidCircle

A filled circle.

Dot

A single dot.

Plus

A plus sign.

Times

A times sign (X-shaped).

Splat

An asterisk (an X shape with an additional horizonatal line through the intersection point).

Box

An unfilled square.

BoxWithDot

An unfilled square with a dot in the center.

BoxWithTimes

An unfilled square with a times sign (X-shaped) in the center.

SolidBox

A filled square.

Diamond

An unfilled diamond.

DiamondWithDot

An unfilled diamond with a dot in the center.

DiamondWithPlus

An unfilled diamond with a plus sign in the center.

SolidDiamond

A filled diamond.

TriangleUp

An unfilled upward-pointing triangle.

TriangleUpWithDot

An unfilled upward-pointing triangle with a dot in the center.

SolidTriangleUp

A filled upward-pointing triangle.

TriangleDown

An unfilled downward-pointing triangle.

TriangleDownWithDot

An unfilled downward-pointing triangle with a dot in the center.

SolidTriangleDown

A filled downward-pointing triangle.

TriangleRight

An unfilled rightward-pointing triangle.

TriangleRightWithDot

An unfilled rightward-pointing triangle with a dot in the center.

SolidTriangleRight

A filled rightward-pointing triangle.

TriangleLeft

An unfilled leftward-pointing triangle.

TriangleLeftWithDot

An unfilled leftward-pointing triangle with a dot in the center.

SolidTriangleLeft

A filled leftward-pointing triangle.

TriangleUpV

An unfilled upward-pointing triangle with the top vertex at the glyph canvas origin.

SolidTriangleUpV

A filled upward-pointing triangle with the top vertex at the glyph canvas origin.

TriangleDownV

An unfilled downward-pointing triangle with the bottom vertex at the glyph canvas origin.

SolidTriangleDownV

A filled downward-pointing triangle with the bottom vertex at the glyph canvas origin.

TriangleRightV

An unfilled rightward-facing triangle with the right vertex at the glyph canvas origin.

SolidTriangleRightV

A filled rightward-facing triangle with the right vertex at the glyph canvas origin.

TriangleLeftV

An unfilled leftward-facing triangle with the left vertex at the glyph canvas origin.

SolidTriangleLeftV

A filled leftward-facing triangle with the left vertex at the glyph canvas origin.

LetterY

The letter Y.

LetterZ

The letter Z.

CircleLetterY

The letter Y circumscribed in an unfilled circle.

CircleLetterZ

The letter Z circumscribed in an unfilled circle.

VerticalBar

A vertical bar.

HorizontalBar

A horizontal bar.

SlantLeft

A left-slanting bar.

SlantRight

A right-slanting bar.

WidePlus

An unfilled plus sign.

SolidWidePlus

A filled plus sign.

WideTimes

An unfilled times sign (X-shaped).

SolidWideTimes

A filled times sign (X-shaped).

Pound

Two parallel vertical bars intersecting two parallel horizontal bars.

Sphere

A phong-shaded sphere when vertex lighting is enabled on supported drivers. A solid circle in all other cases.

enum Fill

Enumerates the fill modes that can apply to glyph elements.

Values:

None

Closed geometry will not be filled.

Continuous

Closed geometry will be filled. If previous geometry was already filled, the fill will be be continued.

New

Closed geometry will be filled. If previous geometry was already filled, the fill will be restarted.

NewLoop

Closed geometry will be filled. If previous geometry was already filled, the fill will be continued as a new loop (such as a hole).

class GlyphDefinition : public HPS.Definition

The GlyphDefinition class is a smart pointer to a database object. It is a handler to a glyph defined within a portfolio.

Public Functions

GlyphDefinition ()

The default constructor creates an uninitialized GlyphDefinition object. The Type() function will return Type.None.

GlyphDefinition (HPS.Definition in_that)

This constructor creates an GlyphDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a glyph definition. Otherwise the copy will fail and the resulting GlyphDefinition will be invalid.

Param in_that

The source Definition to copy.

GlyphDefinition (HPS.GlyphDefinition in_that)

The copy constructor creates an GlyphDefinition object that shares the underlying smart-pointer of the source GlyphDefinition.

Param in_that

The source GlyphDefinition to copy.

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

Redefine the glyph for this GlyphDefinition.

Param in_kit

The new glyph for this GlyphDefinition.

void Show (out HPS.GlyphKit out_kit)

Shows the glyph for this GlyphDefinition.

Param out_kit

The glyph for this GlyphDefinition.

class GlyphDefinitionArray : public HPS::InternalHPSArray<HPS.GlyphDefinition>
class GlyphElement : public HPS.Object

The GlyphElement class is a user space object. It is the base class for all glyph elements.

Subclassed by HPS.CircularArcGlyphElement, HPS.DotGlyphElement, HPS.EllipseGlyphElement, HPS.ImageGlyphElement, HPS.InfiniteLineGlyphElement, HPS.LineGlyphElement, HPS.SphereGlyphElement

Public Functions

bool Equals (HPS.GlyphElement in_that)

Check if the source GlyphElement is equivalent to this GlyphElement.

Param in_that

The source GlyphElement to compare to this GlyphElement.

Return

true if the objects are equivalent, false otherwise.

GlyphElement ()

The default constructor creates an empty GlyphElement object.

GlyphElement (HPS.GlyphElement in_that)

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

Param in_that

The source GlyphElement to copy.

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

Copies the source GlyphElement into this GlyphElement.

Param in_that

The source GlyphElement to copy.

void SetExplicitColor (HPS.RGBAColor in_color)

Sets the RGBA color for this GlyphElement.

Param in_color

The color for this GlyphElement.

void SetFill (HPS.Glyph.Fill in_fill)

Sets the fill mode for this GlyphElement.

Param in_fill

The fill mode for this GlyphElement.

void SetIndexedColor (byte in_index)

Sets the color index for this GlyphElement.

Param in_index

The color index for this GlyphElement.

void SetNormalColor ()

Sets that this GlyphElement should inherit the color of the owning geometry which uses the glyph.

bool ShowColor (out HPS.Glyph.ColorSource out_source, out byte out_index, out HPS.RGBAColor out_color)

Shows the color for this GlyphElement.

Param out_source

The color source for this GlyphElement.

Param out_index

The color index for this GlyphElement. This is only valid if out_source is Glyph.ColorSource.Indexed.

Param out_color

The color for this GlyphElement. This is only valid if out_source is Glyph.ColorSource.Explicit.

Return

true if a color was set, false otherwise.

bool ShowFill (out HPS.Glyph.Fill out_fill)

Shows the fill mode for this GlyphElement.

Param out_fill

The fill mode for this GlyphElement.

Return

true if a fill mode was set, false otherwise.

class GlyphElementArray : public HPS::InternalHPSArray<HPS.GlyphElement>
class GlyphKit : public HPS.Kit

The GlyphKit class is a user space object. It is used when defining a glyph.

Public Functions

override bool Empty ()

Indicates whether this GlyphKit has any values set on it.

Return

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

bool Equals (HPS.GlyphKit in_kit)

Check if the source GlyphKit is equivalent to this GlyphKit.

Param in_kit

The source GlyphKit to compare to this GlyphKit.

Return

true if the objects are equivalent, false otherwise.

GlyphKit ()

The default constructor creates an empty GlyphKit object.

GlyphKit (HPS.GlyphKit in_kit)

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

Param in_kit

The source GlyphKit to copy.

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

Copies the source GlyphKit into this GlyphKit.

Param in_kit

The source GlyphKit to copy.

HPS.GlyphKit SetElement (HPS.GlyphElement in_element)

Set a single element for this GlyphKit. This must be specified when defining a glyph.

Param in_element

A reference to the GlyphElement to set on this kit.

Return

A reference to this GlyphKit.

HPS.GlyphKit SetElements (HPS.GlyphElement[] in_def)

Sets the elements for this GlyphKit. This must be specified when defining a glyph.

Param in_def

The array of elements for the glyph.

Return

A reference to this GlyphKit.

HPS.GlyphKit SetOffset (HPS.GlyphPoint in_point)

Sets the offset for this GlyphKit. This will determine how the glyph gets shifted relative to the insertion point when the glyph is use. This must be specified when defining a glyph.

Param in_point

The offset for the glyph.

Return

A reference to this GlyphKit.

HPS.GlyphKit SetOrdered (bool in_ordered)

Sets ordering for this GlyphKit. This will determine whether the glyphs elements are drawn in the order specified. This setting is optional. The default is that glyph elements may be regrouped for faster drawing.

Param in_ordered

The ordering requirement for the glyph.

Return

A reference to this GlyphKit.

HPS.GlyphKit SetRadius (sbyte in_radius)

Sets the radius of this GlyphKit. This must be specified when defining a glyph.

Param in_radius

The radius of the glyph. The value must be in the range [0,127].

Return

A reference to this GlyphKit.

void Show (out HPS.GlyphKit out_kit)

Copies this GlyphKit into the given GlyphKit.

Param out_kit

The GlyphKit to populate with the contents of this GlyphKit.

bool ShowElements (out HPS.GlyphElement[] out_def)

Shows the elements for this GlyphKit.

Param out_def

The elements for the glyph.

Return

true if elements were set, false otherwise.

bool ShowOffset (out HPS.GlyphPoint out_point)

Shows the offset for this GlyphKit.

Param out_point

The offset for the glyph.

Return

true if an offset was set, false otherwise.

bool ShowOrdered (out bool out_ordered)

Shows the ordering requirement for this GlyphKit.

Return

true if an offset was set, false otherwise.

bool ShowRadius (out sbyte out_radius)

Shows the radius for this GlyphKit.

Param out_radius

The radius for the glyph.

Return

true if a radius was set, false otherwise.

HPS.GlyphKit UnsetElements ()

Removes the elements for the glyph.

Return

A reference to this GlyphKit.

HPS.GlyphKit UnsetEverything ()

Removes all settings from this GlyphKit.

Return

A reference to this GlyphKit.

HPS.GlyphKit UnsetOffset ()

Removes the offset for the glyph.

Return

A reference to this GlyphKit.

HPS.GlyphKit UnsetOrdered ()

Removes the ordering requirement for the glyph.

Return

A reference to this GlyphKit.

HPS.GlyphKit UnsetRadius ()

Removes the radius for the glyph.

Return

A reference to this GlyphKit.

Public Static Functions

HPS.GlyphKit GetDefault (HPS.Glyph.Default in_default_glyph)

Creates a GlyphKit which contains the definition of the specified default glyph.

Param in_default_glyph

The default glyph for which to get the corresponding GlyphKit.

Return

A GlyphKit which contains the definition of the specified default glyph.

class GlyphLinePatternElement : public HPS.LinePatternElement

The GlyphLinePatternElement class is a user space object. It is used for specifying glyphs elements within a line pattern.

Public Functions

GlyphLinePatternElement ()

The default constructor creates an empty GlyphLinePatternElement object.

GlyphLinePatternElement (HPS.GlyphLinePatternElement in_that)

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

Param in_that

The source GlyphLinePatternElement to copy.

GlyphLinePatternElement (HPS.LinePatternElement in_that)

This constructor creates a GlyphLinePatternElement object that contains the same settings as the source LinePatternElement. The copy will only be successful if the source line pattern element is really an upcast of a glyph line pattern element. Otherwise the copy will fail and the resulting GlyphLinePatternElement will be invalid.

Param in_that

The source LinePatternElement to copy.

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 SetFixed (bool in_state)

Sets whether the angle of the GlyphLinePatternElement should be fixed relative to the line vector.

Param in_state

Whether the angle of the GlyphLinePatternElement should be fixed relative to the line vector.

void SetInsetBehavior (HPS.LinePattern.InsetBehavior in_behavior)

Sets the inset behavior for this GlyphLinePatternElement.

Param in_behavior

The inset behavior for this GlyphLinePatternElement.

void SetMirror (bool in_state)

Sets whether to flip this GlyphLinePatternElement about the x-axis prior to applying any rotation.

Param in_state

Whether to flip this GlyphLinePatternElement about the x-axis prior to applying any rotation.

void SetRotation (float in_degrees)

Sets the angle in degrees the GlyphLinePatternElement is rotated relative to the line vector.

Param in_degrees

The angle in degrees the GlyphLinePatternElement is rotated relative to the line vector.

void SetSource (string in_source)

Sets the name of the source for this GlyphLinePatternElement.

Param in_source

UTF8-encoded name of the source for this GlyphLinePatternElement.

void SetWeight (float in_weight, HPS.LinePattern.SizeUnits in_units)

Sets the weight for this GlyphLinePatternElement.

Param in_weight

The weight for this GlyphLinePatternElement.

Param in_units

The units of the weight for this GlyphLinePatternElement.

bool ShowFixed (out bool out_state)

Shows whether the angle of the GlyphLinePatternElement should be fixed relative to the line vector.

Param out_state

Whether the angle of the GlyphLinePatternElement should be fixed relative to the line vector.

Return

true if a fixed flag was set, false otherwise.

bool ShowInsetBehavior (out HPS.LinePattern.InsetBehavior out_behavior)

Shows the inset behavior for this GlyphLinePatternElement.

Param out_behavior

The inset behavior for this GlyphLinePatternElement.

Return

true if an inset behavior was set, false otherwise.

bool ShowMirror (out bool out_state)

Shows whether to flip this GlyphLinePatternElement about the x-axis prior to applying any rotation.

Param out_state

Whether to flip this GlyphLinePatternElement about the x-axis prior to applying any rotation.

Return

true if a mirror flag was set, false otherwise.

bool ShowRotation (out float out_degrees)

Shows the angle in degrees the GlyphLinePatternElement is rotated relative to the line vector.

Param out_degrees

The angle in degrees the GlyphLinePatternElement is rotated relative to the line vector.

Return

true if an angle was set, false otherwise.

bool ShowSource (out string out_source)

Shows the name of the source for this GlyphLinePatternElement.

Param out_source

UTF8-encoded name of the source for this GlyphLinePatternElement.

Return

true if a source was set, false otherwise.

bool ShowWeight (out float out_weight, out HPS.LinePattern.SizeUnits out_units)

Shows the weight for this GlyphLinePatternElement.

Param out_weight

The weight for this GlyphLinePatternElement.

Param out_units

The units for the weight for this GlyphLinePatternElement.

Return

true if a weight was set, false otherwise.

struct GlyphPoint

The GlyphPoint class is a point that is used in the definition of glyphs. It is a 2d point with x, y restricted to [-128, 127].

Public Functions

bool Equals (GlyphPoint p)

This function is used to check a GlyphPoint object for equivalence to this.

Param p

The GlyphPoint to compare to this.

Return

true if the objects are equivalent, false otherwise.

override bool Equals (object obj)

This function is used to check an object for equivalence to this.

Param obj

The object to compare to this.

Return

true if the objects are equivalent, false otherwise.

GlyphPoint (GlyphPoint gp)

Construct a new GlyphPoint from the GlyphPoint parameter.

Param gp

The GlyphPoint to use to build this object.

GlyphPoint (sbyte new_x, sbyte new_y)

Construct a new GlyphPoint from an (x, y) pair.

Param new_x

The x location of the point.

Param new_y

The y location of the point.

Public Static Functions

bool operator!= (GlyphPoint p1, GlyphPoint p2)

Compares two GlyphPoint objects.

Param p1

The object to compare to parameter p2.

Param p2

The object to compare to parameter p1.

Return

true if the objects are not equivalent, false otherwise.

bool operator== (GlyphPoint p1, GlyphPoint p2)

Compares two GlyphPoint objects.

Param p1

The object to compare to parameter p2.

Param p2

The object to compare to parameter p1.

Return

true if the objects are equivalent, false otherwise.

class GlyphPointArray : public HPS::InternalHPSBlittableArray<HPS.GlyphPoint>
class GPU : public IDisposable

Public Types

enum Preference

Used to determine which GPU Visualize should use when there are multiple available GPUs on the system. Note that that HighPerformance and Integrated enumerations are best-guesses. Use ‘Specific’ to have the highest degree of control over which GPU is used.

Values:

HighPerformance

Automatically detect and use the highest performing GPU available on the system.

Integrated

Automatically detect and use the CPU-integrated GPU, if available.

Specific

Choose a specific GPU out of the ones available on the system.

Default

Choose the first GPU found by the DirectX driver.

class Grid : public IDisposable

The Grid class is a concept class for grid-related enum classes.

class GridKey : public HPS.GeometryKey

The GridKey class is a smart pointer to a database object. It is a handle to a grid created by SegmentKey.InsertGrid.

Public Functions

void Consume (HPS.GridKit in_kit)

Completely replaces all settings on this GridKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this GridKey.

GridKey ()

The default constructor creates an uninitialized GridKey object. The Type() function will return Type.None.

GridKey (HPS.GridKey in_that)

The copy constructor creates a GridKey object that shares the underlying smart-pointer of the source GridKey.

Param in_that

The source GridKey to copy.

GridKey (HPS.Key in_that)

This constructor creates an GridKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a grid key. Otherwise the copy will fail and the resulting GridKey will be invalid.

Param in_that

The source Key to copy.

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

Replace those settings on this GridKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this GridKey.

HPS.GridKey SetFirstCount (int in_first_count)

Sets the first reference count for this GridKey, i.e., the number of grid elements along the vector determined by the first reference point. If the type of the grid is Grid.Type.Quadrilateral, there are three type of behavior depending on if the count is greater than zero, less than zero, or equal to zero. If the count is greater than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the first reference point. If the count is less than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the first reference point and additionally that same number of intersections along the negation of that vector. Lastly, if the count is zero, the grid will extend infinitely along the vector determined by the first reference point and its negation. If the type of the grid is Grid.Type.Radial, there are two types of behavior depending on if the count is greater than zero or equal to zero. If the count is greater than zero, it determines the finite number of circular arcs which will intersect with the radial vectors. If the count is equal to zero, there will be an infinite number of intersections along the radial arcs. Negative counts are invalid in this case.

Param in_first_count

The count of the number of grid elements along the vector determined by the first reference point.

Return

A reference to this GridKey.

HPS.GridKey SetFirstPoint (HPS.Point in_first_point)

Sets the first reference point for this GridKey. If the type of the grid is Grid.Type.Quadrilateral, this defines the first point along one of the vectors defining the grid (the other vector is determined by the second point). It also determines the spacing between the grid lines along the vector. If the type of the grid is Grid.Type.Radial, this defines the first point along the radius vector which will intersect with the circular grid arcs.

Param in_first_point

The first reference point for this GridKey.

Return

A reference to this GridKey.

HPS.GridKey SetOrigin (HPS.Point in_origin)

Sets the origin for this GridKey.

Param in_origin

The origin for this GridKey.

Return

A reference to this GridKey.

HPS.GridKey SetSecondCount (int in_second_count)

Sets the second reference count for this GridKey, i.e., the number of grid elements along the vector determined by the second reference point. If the type of the grid is Grid.Type.Quadrilateral, there are three type of behavior depending on if the count is greater than zero, less than zero, or equal to zero. If the count is greater than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the second reference point. If the count is less than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the second reference point and additionally that same number of intersections along the negation of that vector. Lastly, if the count is zero, the grid will extend infinitely along the vector determined by the second reference point and its negation. If the type of the grid is Grid.Type.Radial, the count determines the number of radial vectors for the grid.

Param in_second_count

The count of the number of grid elements along the vector determined by the second reference point.

Return

A reference to this GridKey.

HPS.GridKey SetSecondPoint (HPS.Point in_second_point)

Sets the second reference point for this GridKey. If the type of the grid Grid.Type.Quadrilateral, this defines the first point along the second vector defining the grid (the other vector is determined by the first point). It also determines the spacing between the grid lines along the vector. If the type of the grid is Grid.Type.Radial, this defines the first point on the first circular arc which intersects with the radial vectors, and determines the spacing of the arcs along the radial vectors.

Param in_second_point

The second reference point for this GridKey.

Return

A reference to this GridKey.

HPS.GridKey SetType (HPS.Grid.Type in_type)

Sets the type of this GridKey.

Param in_type

The type of this GridKey.

Return

A reference to this GridKey.

void Show (out HPS.GridKit out_kit)

Copy the contents of this GridKey into the specified kit.

Param out_kit

The kit to populate with the contents of this GridKey.

bool ShowFirstCount (out int out_first_count)

Shows the first reference count for this GridKey.

Param out_first_count

The first reference count for this GridKey.

Return

true if a first reference count was set, false otherwise.

bool ShowFirstPoint (out HPS.Point out_first_point)

Shows the first reference point for this GridKey.

Param out_first_point

The first reference point for this GridKey.

Return

true if a first reference point was set, false otherwise.

bool ShowOrigin (out HPS.Point out_origin)

Shows the origin for this GridKey.

Param out_origin

The origin for this GridKey.

Return

true if an origin was set, false otherwise.

bool ShowSecondCount (out int out_second_count)

Shows the second reference count for this GridKey.

Param out_second_count

The second reference count for this GridKey.

Return

true if a second reference count was set, false otherwise.

bool ShowSecondPoint (out HPS.Point out_second_point)

Shows the second reference point for this GridKey.

Param out_second_point

The second reference point for this GridKey.

Return

true if a second reference point was set, false otherwise.

bool ShowType (out HPS.Grid.Type out_type)

Shows the type for this GridKey.

Param out_type

The type for this GridKey.

Return

true if a type was set, false otherwise.

class GridKit : public HPS.Kit

The GridKit class is a user space object. It is a kit analog to a GridKey.

Public Functions

void Consume (HPS.GridKit in_kit)

Copies the source GridKit into this GridKit and resets the source kit.

Param in_kit

The source GridKit to consume.

override bool Empty ()

Indicates whether this GridKit has any values set on it.

Return

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

bool Equals (HPS.GridKit in_kit)

Check if the source GridKit is equivalent to this GridKit.

Param in_kit

The source GridKit to compare to this GridKit.

Return

true if the objects are equivalent, false otherwise.

GridKit ()

The default constructor creates an empty GridKit object.

GridKit (HPS.GridKit in_kit)

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

Param in_kit

The source GridKit to copy.

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

Copies the source GridKit into this GridKit.

Param in_kit

The source GridKit to copy.

HPS.GridKit SetFirstCount (int in_first_count)

Sets the first reference count for this GridKit, i.e., the number of grid elements along the vector determined by the first reference point. If the type of the grid is Grid.Type.Quadrilateral, there are three type of behavior depending on if the count is greater than zero, less than zero, or equal to zero. If the count is greater than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the first reference point. If the count is less than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the first reference point and additionally that same number of intersections along the negation of that vector. Lastly, if the count is zero, the grid will extend infinitely along the vector determined by the first reference point and its negation. If the type of the grid is Grid.Type.Radial, there are two types of behavior depending on if the count is greater than zero or equal to zero. If the count is greater than zero, it determines the finite number of circular arcs which will intersect with the radial vectors. If the count is equal to zero, there will be an infinite number of intersections along the radial arcs. Negative counts are invalid in this case.

Param in_first_count

The count of the number of grid elements along the vector determined by the first reference point.

Return

A reference to this GridKit.

HPS.GridKit SetFirstPoint (HPS.Point in_first_point)

Sets the first reference point for this GridKit. If the type of the grid is Grid.Type.Quadrilateral, this defines the first point along one of the vectors defining the grid (the other vector is determined by the second point). It also determines the spacing between the grid lines along the vector. If the type of the grid is Grid.Type.Radial, this defines the first point along the radius vector which will intersect with the circular grid arcs.

Param in_first_point

The first reference point for this GridKit.

Return

A reference to this GridKit.

HPS.GridKit SetOrigin (HPS.Point in_origin)

Sets the origin for this GridKit.

Param in_origin

The origin for this GridKit.

Return

A reference to this GridKit.

HPS.GridKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the GridKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.GridKit SetSecondCount (int in_second_count)

Sets the second reference count for this GridKit, i.e., the number of grid elements along the vector determined by the second reference point. If the type of the grid is Grid.Type.Quadrilateral, there are three type of behavior depending on if the count is greater than zero, less than zero, or equal to zero. If the count is greater than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the second reference point. If the count is less than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the second reference point and additionally that same number of intersections along the negation of that vector. Lastly, if the count is zero, the grid will extend infinitely along the vector determined by the second reference point and its negation. If the type of the grid is Grid.Type.Radial, the count determines the number of radial vectors for the grid.

Param in_second_count

The count of the number of grid elements along the vector determined by the second reference point.

Return

A reference to this GridKit.

HPS.GridKit SetSecondPoint (HPS.Point in_second_point)

Sets the second reference point for this GridKit. If the type of the grid Grid.Type.Quadrilateral, this defines the first point along the second vector defining the grid (the other vector is determined by the first point). It also determines the spacing between the grid lines along the vector. If the type of the grid is Grid.Type.Radial, this defines the first point on the first circular arc which intersects with the radial vectors, and determines the spacing of the arcs along the radial vectors.

Param in_second_point

The second reference point for this GridKit.

Return

A reference to this GridKit.

HPS.GridKit SetType (HPS.Grid.Type in_type)

Sets the type of this GridKit.

Param in_type

The type of this GridKit.

Return

A reference to this GridKit.

HPS.GridKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.GridKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.GridKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.GridKit out_kit)

Copies this GridKit into the given GridKit.

Param out_kit

The GridKit to populate with the contents of this GridKit.

bool ShowFirstCount (out int out_first_count)

Shows the first reference count for this GridKit.

Param out_first_count

The first reference count for this GridKit.

Return

true if a first reference count was set, false otherwise.

bool ShowFirstPoint (out HPS.Point out_first_point)

Shows the first reference point for this GridKit.

Param out_first_point

The first reference point for this GridKit.

Return

true if a first reference point was set, false otherwise.

bool ShowOrigin (out HPS.Point out_origin)

Shows the origin for this GridKit.

Param out_origin

The origin for this GridKit.

Return

true if an origin was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowSecondCount (out int out_second_count)

Shows the second reference count for this GridKit.

Param out_second_count

The second reference count for this GridKit.

Return

true if a second reference count was set, false otherwise.

bool ShowSecondPoint (out HPS.Point out_second_point)

Shows the second reference point for this GridKit.

Param out_second_point

The second reference point for this GridKit.

Return

true if a second reference point was set, false otherwise.

bool ShowType (out HPS.Grid.Type out_type)

Shows the type for this GridKit.

Param out_type

The type for this GridKit.

Return

true if a type was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.GridKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.GridKit UnsetEverything ()

Removes the all settings from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetFirstCount ()

Removes the first reference count from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetFirstPoint ()

Removes the first reference point from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetOrigin ()

Removes the origin from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this GridKit.

HPS.GridKit UnsetSecondCount ()

Removes the second reference count from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetSecondPoint ()

Removes the second reference point from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetType ()

Removes the type from this GridKit.

Return

A reference to this GridKit.

HPS.GridKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.GridKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class 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. The resulting file will only look correct when opened on platforms which have the fonts used in the PDF document installed.

EmbedFonts

Fonts used in the PDF are embedded into it. The exported PDF file will render the same way on any platform. Its size will be larger than if fonts were not embedded.

enum RenderingAlgorithm

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

Values:

TwoPassPrint

The default Hardcopy export. Two passes are used to ensure that vector data is as detailed as possible, while saving on file size by rendering non-vector data at lower resolution.

SinglePassPrint

The Hardcopy export completes in a single pass. Non-vector data may take up large amount of space on disk. If your on-screen scene was rendered using the Priority HSRA, using SinglePassPrint is required in order for the Hardcopy export to be accurate.

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.

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

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

class GDI : public IDisposable
class ExportOptionsKit : public HPS.Kit

Public Functions

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.

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.

class HiddenLine : public IDisposable

Public Types

enum Algorithm

Specifies the sorting algorithm that should be used to sort the geometry which has been drawn as a result of setting SetRenderFaces to true.

Values:

None

No sorting of faces will be performed.

ZBuffer

Utilizes a z-buffering algorithm, defaulting to hardware z-buffer.

ZSort

Utilizes a z-sorting algorithm which sorts faces based on the z-value of each triangles centroid.

class HiddenLineAttributeControl : public HPS.Control

The HPS.HiddenLineAttributeControl class is a smart pointer that is tied to a database object. This control allows you to manipulate the various attributes associated with hidden lines. Hidden line is a rendering mode that applies to the scene as a whole. You should not set disparate hidden line attributes in your scene.

This table lists default values for the various segment attributes accessible from HPS.HiddenLineAttributeControl.

Public Functions

HiddenLineAttributeControl (HPS.HiddenLineAttributeControl in_that)

Initializes a control tied to the same object as in_that.

HiddenLineAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.HiddenLineAttributeControl SetAlgorithm (HPS.HiddenLine.Algorithm in_algorithm)

Specifies the sorting algorithm that should be used to sort faces that have been made visible by the SetRenderFaces method. Default is ZBuffer.

Param in_algorithm

The algorithm used to sort visible faces.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetColor (HPS.RGBAColor in_color)

Sets the color to be applied to the hidden lines and markers.

Param in_color

The color hidden line geometry should be drawn in.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetDimFactor (float in_zero_to_one)

Specifies the fraction of the current line color’s R, G, and B channels to use for the color of hidden lines and markers. By default, Visualize will automatically take a fraction of the RGB values to darken the hidden lines and markers.

Param in_zero_to_one

A multiplier, between [0,1], applied to each channel of the hidden line color.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetFaceDisplacement (float in_buckets)

Specifies how many units to push faces away from the camera. This can help improve hidden line scene quality if distinct polylines/lines are being used to denote user-defined edges on shell/mesh regions, but are not exactly coincident with the actual shell/mesh edges. Note: hidden line face displacement is separate from the general face displacement value set with the DrawingAttributeKit.SetFaceDisplacement.

See

DrawingAttributeKit.SetFaceDisplacement()

Param in_buckets

The number of units to move faces in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move faces toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetLinePattern (string in_pattern)

Specifies the pattern of the hidden lines.

Param in_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetLineSorting (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 draw in proper z-order.If this option is not activated, the order in which lines are drawn is non-deterministic. Enabling this option will result in slower performance. Due to the poor performance, this option is not recommended for screen drawing. However, it may be useful for hardcopy export. Use the functions HPS.Hardcopy.GDI.ExportOptionsKit.SetHiddenLineSorting() or HPS.Hardcopy.File.ExportOptionsKit.SetHiddenLineSorting() to enable this option for hardcopy export.

Param in_on

Whether to sort or not.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetLineSorting (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 draw in proper z-order.If this option is not activated, the order in which lines are drawn is non-deterministic. Enabling this option will result in slower performance. Due to the poor performance, this option is not recommended for screen drawing. However, it may be useful for hardcopy export. Use the functions HPS.Hardcopy.GDI.ExportOptionsKit.SetHiddenLineSorting() or HPS.Hardcopy.File.ExportOptionsKit.SetHiddenLineSorting() to enable this option for hardcopy export.

Param in_on

Whether to sort or not.

Param in_activation_weight

Lines thicker than this will be sorted. Thinner ones will be ignored.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetLineSorting (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 draw in proper z-order.If this option is not activated, the order in which lines are drawn is non-deterministic. Enabling this option will result in slower performance. Due to the poor performance, this option is not recommended for screen drawing. However, it may be useful for hardcopy export. Use the functions HPS.Hardcopy.GDI.ExportOptionsKit.SetHiddenLineSorting() or HPS.Hardcopy.File.ExportOptionsKit.SetHiddenLineSorting() to enable this option for hardcopy export.

Param in_on

Whether to sort or not.

Param in_activation_weight

Lines thicker than this will be sorted. Thinner ones will be ignored.

Param in_units

Units applied to in_activation_weight.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetRenderFaces (bool in_state)

Specifies whether triangles will be displayed during a hidden-line rendering.

Param in_state

Whether triangles will displayed during a hidden-line rendering.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetRenderText (bool in_state)

Specifies whether text will be displayed during a hidden-line rendering.

Param in_state

Whether text will displayed during a hidden-line rendering.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetSilhouetteCleanup (bool in_state)

Silhouette edges can show unpleasant “fishtail” patterns at points on smooth surfaces where curvature in one orientation is very different from the curvature in another (e.g. the inside of a torus). Silhouette cleanup causes a post-process to remove most of these patterns.

Param in_state

Whether hidden line rendering should be post-processed to remove visual artifacts.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetTransparencyCutoff (float in_zero_to_one)

Specifies the threshold for when transparent objects are considered opaque. Objects with transparency greater than the cutoff will be considered opaque while objects with transparency less than the cutoff will treated as transparent.

Param in_zero_to_one

The cutoff value, between [0,1].

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetVisibility (bool in_state)

Specifies whether hidden lines and markers should be displayed.

Param in_state

The algorithm to be used during hidden line rendering.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetWeight (float in_weight)

Sets the weight of lines drawn in hidden line rendering.

Param in_weight

The weight value for hidden lines.

Return

A reference to this object.

HPS.HiddenLineAttributeControl SetWeight (float in_weight, HPS.Line.SizeUnits in_units)

Sets the weight of lines drawn in hidden line rendering.

Param in_weight

The weight value for hidden lines.

Param in_units

The units applied to in_weight.

Return

A reference to this object.

bool ShowAlgorithm (out HPS.HiddenLine.Algorithm out_algorithm)

Shows the algorithm to be used during hidden line rendering.

Param out_algorithm

The algorithm used for hidden line rendering.

Return

true if the setting is valid, false otherwise.

bool ShowColor (out HPS.RGBAColor out_color)

Shows the color applied to hidden lines and markers.

Param out_color

The color of hidden line geometry.

Return

true if the setting is valid, false otherwise.

bool ShowDimFactor (out float out_zero_to_one)

Shows the dim factor multiplier applied to each channel of the hidden line color.

Param out_zero_to_one

A multiplier, between [0,1], applied to each channel of the hidden line color.

Return

true if the setting is valid, false otherwise.

bool ShowFaceDisplacement (out float out_buckets)

Shows the number of units to push faces away from the camera.

Param out_buckets

The number of “z buckets” to push faces away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowLinePattern (out string out_pattern)

Shows the pattern of the hidden lines.

Param out_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Return

true if the setting is valid, false otherwise.

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

Shows the hidden line sorting options.

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 ShowRenderFaces (out bool out_state)

Shows whether triangles will be displayed during a hidden-line rendering.

Param out_state

Whether triangles will displayed during a hidden-line rendering.

Return

true if the setting is valid, false otherwise.

bool ShowRenderText (out bool out_state)

Shows whether text will be displayed during a hidden-line rendering.

Param out_state

Whether text will displayed during a hidden-line rendering.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteCleanup (out bool out_state)

Shows whether hidden line rendering should be post-processed to remove visual artifacts of silhouette edges.

Param out_state

Whether hidden line rendering should be post-processed to remove visual artifacts.

Return

true if the setting is valid, false otherwise.

bool ShowTransparencyCutoff (out float out_zero_to_one)

Shows the threshold for when transparent objects are considered opaque.

Param out_zero_to_one

The cutoff value, between [0,1].

Return

true if the setting is valid, false otherwise.

bool ShowVisibility (out bool out_state)

Shows whether hidden lines and markers should be displayed.

Param out_state

Whether hidden lines and markers should be displayed.

Return

true if the setting is valid, false otherwise.

bool ShowWeight (out float out_weight, out HPS.Line.SizeUnits out_units)

Shows the weight of lines drawn in hidden line rendering.

Param out_weight

The weight value for hidden lines.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

HPS.HiddenLineAttributeControl UnsetAlgorithm ()

Removes the hidden line algorithm setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetColor ()

Removes the hidden line color setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetDimFactor ()

Removes the dim factor setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetFaceDisplacement ()

Removes the face displacement setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetLinePattern ()

Removes the line pattern setting for hidden lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetLineSorting ()

Removes the line sorting settings for hidden lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetRenderFaces ()

Removes the face rendering setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetRenderText ()

Removes the text rendering setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetSilhouetteCleanup ()

Removes the silhouette cleanup setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetTransparencyCutoff ()

Removes the transparency cutoff setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetVisibility ()

Removes the hidden line visibility setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.HiddenLineAttributeControl UnsetWeight ()

Removes the weight setting for hidden line. If the control is attached to a WindowKey this function restores the default value of this setting as specified by HiddenLineAttributeKit.GetDefault().

Return

A reference to this object.

class HiddenLineAttributeKit : public HPS.Kit

The HPS.HiddenLineAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.HiddenLineAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.HiddenLineAttributeKit in_kit)

Check if the source HiddenLineAttributeKit is equivalent to this object.

Param in_kit

The source HiddenLineAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

HiddenLineAttributeKit ()

Initializes an empty kit.

HiddenLineAttributeKit (HPS.HiddenLineAttributeKit in_kit)

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

Param in_kit

The source object to copy.

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

Copies the source HiddenLineAttributeKit into this object.

Param in_kit

The source object to copy.

HPS.HiddenLineAttributeKit SetAlgorithm (HPS.HiddenLine.Algorithm in_algorithm)

Specifies the sorting algorithm that should be used to sort faces that have been made visible by the SetRenderFaces method. Default is ZBuffer.

Param in_algorithm

The algorithm used to sort visible faces.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetColor (HPS.RGBAColor in_color)

Sets the color to be applied to the hidden lines and markers.

Param in_color

The color hidden line geometry should be drawn in.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetDimFactor (float in_zero_to_one)

Specifies the fraction of the current line color’s R, G, and B channels to use for the color of hidden lines and markers. By default, Visualize will automatically take a fraction of the RGB values to darken the hidden lines and markers.

Param in_zero_to_one

A multiplier, between [0,1], applied to each channel of the hidden line color.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetFaceDisplacement (float in_buckets)

Specifies how many units to push faces away from the camera. This can help improve hidden line scene quality if distinct polylines/lines are being used to denote user-defined edges on shell/mesh regions, but are not exactly coincident with the actual shell/mesh edges. Note: hidden line face displacement is separate from the general face displacement value set with the DrawingAttributeKit.SetFaceDisplacement.

See

DrawingAttributeKit.SetFaceDisplacement()

Param in_buckets

The number of units to move faces in the Z-Buffer. The units are 1/2^24 in the normalized depth range [0,1]. Negative values will move faces toward the camera, positive values away from the camera.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetLinePattern (string in_pattern)

Specifies the pattern of the hidden lines.

Param in_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetLineSorting (bool in_state)

Species whether hidden lines are sorted, and if so, what the threshold for sorting is. If Hidden Line Sorting is activated, lines will be drawn in proper z-order. If this option is not activated, the order in which lines are drawn is non-deterministic. Enabling this option will result in slower performance. Due to the poor performance, this option is not recommended for screen drawing. However, it may be useful for hardcopy export. Use the functions HPS.Hardcopy.GDI.ExportOptionsKit.SetHiddenLineSorting() or HPS.Hardcopy.File.ExportOptionsKit.SetHiddenLineSorting() to enable this option for hardcopy export.

Param in_state

Should hidden lines be sorted.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetLineSorting (bool in_state, float in_threshold)

Species whether hidden lines are sorted, and if so, what the threshold for sorting is. If Hidden Line Sorting is activated, lines will be drawn in proper z-order. If this option is not activated, the order in which lines are drawn is non-deterministic. Enabling this option will result in slower performance. Due to the poor performance, this option is not recommended for screen drawing. However, it may be useful for hardcopy export. Use the functions HPS.Hardcopy.GDI.ExportOptionsKit.SetHiddenLineSorting() or HPS.Hardcopy.File.ExportOptionsKit.SetHiddenLineSorting() to enable this option for hardcopy export.

Param in_state

Should hidden lines be sorted.

Param in_threshold

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

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetLineSorting (bool in_state, float in_threshold, 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 drawn in proper z-order. If this option is not activated, the order in which lines are drawn is non-deterministic. Enabling this option will result in slower performance. Due to the poor performance, this option is not recommended for screen drawing. However, it may be useful for hardcopy export. Use the functions HPS.Hardcopy.GDI.ExportOptionsKit.SetHiddenLineSorting() or HPS.Hardcopy.File.ExportOptionsKit.SetHiddenLineSorting() to enable this option for hardcopy export.

Param in_state

Should hidden lines be sorted.

Param in_threshold

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

Param in_units

What units in_threshold is specified in.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetRenderFaces (bool in_state)

Specifies whether triangles will be displayed during a hidden-line rendering.

Param in_state

Whether triangles will displayed during a hidden-line rendering.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetRenderText (bool in_state)

Specifies whether text will be displayed during a hidden-line rendering.

Param in_state

Whether text will displayed during a hidden-line rendering.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetSilhouetteCleanup (bool in_state)

Silhouette edges can show unpleasant “fishtail” patterns at points on smooth surfaces where curvature in one orientation is very different from the curvature in another (e.g. the inside of a torus). Silhouette cleanup causes a post-process to remove most of these patterns.

Param in_state

Whether hidden line rendering should be post-processed to remove visual artifacts.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetTransparencyCutoff (float in_zero_to_one)

Specifies the threshold for when transparent objects are considered opaque. Objects with transparency greater than the cutoff will be considered opaque while objects with transparency less than the cutoff will treated as transparent.

Param in_zero_to_one

The cutoff value, between [0,1].

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetVisibility (bool in_state)

Specifies whether hidden lines and markers should be displayed.

Param in_state

The algorithm to be used during hidden line rendering.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetWeight (float in_weight)

Sets the weight of lines drawn in hidden line rendering.

Param in_weight

The weight value for hidden lines.

Return

A reference to this object.

HPS.HiddenLineAttributeKit SetWeight (float in_weight, HPS.Line.SizeUnits in_units)

Sets the weight of lines drawn in hidden line rendering.

Param in_weight

The weight value for hidden lines.

Param in_units

The units applied to in_weight.

Return

A reference to this object.

void Show (out HPS.HiddenLineAttributeKit out_kit)

Copies this object into the given HiddenLineAttributeKit.

Param out_kit

The HiddenLineAttributeKit to populate with the contents of this object.

bool ShowAlgorithm (out HPS.HiddenLine.Algorithm out_algorithm)

Shows the sorting algorithm that will be used to sort faces that have been made visible by the SetRenderFaces method.

Param out_algorithm

The algorithm used to sort visible faces.

Return

true if the setting is valid, false otherwise.

bool ShowColor (out HPS.RGBAColor out_color)

Shows the color applied to hidden lines and markers.

Param out_color

The color of hidden line geometry.

Return

true if the setting is valid, false otherwise.

bool ShowDimFactor (out float out_zero_to_one)

Shows the dim factor multiplier applied to each channel of the hidden line color.

Param out_zero_to_one

A multiplier, between [0,1], applied to each channel of the hidden line color.

Return

true if the setting is valid, false otherwise.

bool ShowFaceDisplacement (out float out_buckets)

Shows the number of units to push faces away from the camera.

Param out_buckets

The number of “z buckets” to push faces away from the camera.

Return

true if the setting is valid, false otherwise.

bool ShowLinePattern (out string out_pattern)

Shows the pattern of the hidden lines.

Param out_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Return

true if the setting is valid, false otherwise.

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

Shows the hidden line sorting options.

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 ShowRenderFaces (out bool out_state)

Shows whether triangles will be displayed during a hidden-line rendering.

Param out_state

Whether triangles will displayed during a hidden-line rendering.

Return

true if the setting is valid, false otherwise.

bool ShowRenderText (out bool out_state)

Shows whether text will be displayed during a hidden-line rendering.

Param out_state

Whether text will displayed during a hidden-line rendering.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteCleanup (out bool out_state)

Shows whether hidden line rendering should be post-processed to remove visual artifacts of silhouette edges.

Param out_state

Whether hidden line rendering should be post-processed to remove visual artifacts.

Return

true if the setting is valid, false otherwise.

bool ShowTransparencyCutoff (out float out_zero_to_one)

Shows the threshold for when transparent objects are considered opaque.

Param out_zero_to_one

The cutoff value, between [0,1].

Return

true if the setting is valid, false otherwise.

bool ShowVisibility (out bool out_state)

Shows whether hidden lines and markers should be displayed.

Param out_state

Whether hidden lines and markers should be displayed.

Return

true if the setting is valid, false otherwise.

bool ShowWeight (out float out_weight, out HPS.Line.SizeUnits out_units)

Shows the weight of lines drawn in hidden line rendering.

Param out_weight

The weight value for hidden lines.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

HPS.HiddenLineAttributeKit UnsetAlgorithm ()

Removes the hidden line algorithm setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetColor ()

Removes the hidden line color setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetDimFactor ()

Removes the dim factor setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetFaceDisplacement ()

Removes the face displacement setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetLinePattern ()

Removes the line pattern setting for hidden lines.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetLineSorting ()

Removes the line sorting setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetRenderFaces ()

Removes the face rendering setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetRenderText ()

Removes the text rendering setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetSilhouetteCleanup ()

Removes the silhouette cleanup setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetTransparencyCutoff ()

Removes the transparency cutoff setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetVisibility ()

Removes the hidden line visibility setting.

Return

A reference to this object.

HPS.HiddenLineAttributeKit UnsetWeight ()

Removes the weight setting for hidden line.

Return

A reference to this object.

Public Static Functions

HPS.HiddenLineAttributeKit GetDefault ()

Creates a HiddenLineAttributeKit 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 HiddenLineAttributeKit with the default settings.

class HideKeyboardEvent : public HPS.Event

The HideKeyboardEvent class is the event that can be used on mobile devices to request that the software keyboard be hidden

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this HideKeyboardEvent.

Return

A copy of this HideKeyboardEvent.

HideKeyboardEvent ()

The default constructor creates a HideKeyboardEvent.

HideKeyboardEvent (HPS.Event in_event)

This constructor converts an EventObject to an HideKeyboardEvent object.

Param in_event

The EventObject to be converted.

class HighlightControl : public HPS.Control

The HPS.HighlightControl class is a smart pointer that is tied to a database object. It is used to control highlight and unhighlight operations on selection results, search results, key paths and keys. This table lists default * values for the various segment attributes accessible from HPS.HighlightControl.

Public Functions

HPS.HighlightControl Highlight (HPS.Key in_item, HPS.HighlightOptionsKit in_options)

Highlight the specified key using the specified highlight options.

Param in_item

The key to highlight. If the key is invalid, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.Key in_item, HPS.HighlightOptionsKit in_options, bool in_remove_existing)

Highlight the specified key using the specified highlight options.

Param in_item

The key to highlight. If the key is invalid, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.Key in_item, HPS.HighlightOptionsKit in_options, ulong[] in_vertices, ulong[] in_edges1, ulong[] in_edges2, ulong[] in_faces)

Highlight the specified key using the specified highlight options.

Param in_item

The key to highlight. If the key is invalid, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_vertices

An array of vertex indices, specifying vertices to highlight.

Param in_edges1

An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.

Param in_edges2

An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.

Param in_faces

An array of faces indices specifying faces to highlight.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.Key in_item, HPS.HighlightOptionsKit in_options, ulong[] in_vertices, ulong[] in_edges1, ulong[] in_edges2, ulong[] in_faces, bool in_remove_existing)

Highlight the specified key using the specified highlight options.

Param in_item

The key to highlight. If the key is invalid, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_vertices

An array of vertex indices, specifying vertices to highlight.

Param in_edges1

An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.

Param in_edges2

An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.

Param in_faces

An array of faces indices specifying faces to highlight.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.KeyPath in_item, HPS.HighlightOptionsKit in_options)

Highlight the specified key path using the specified highlight options.

Param in_item

The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.KeyPath in_item, HPS.HighlightOptionsKit in_options, bool in_remove_existing)

Highlight the specified key path using the specified highlight options.

Param in_item

The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.KeyPath in_item, HPS.HighlightOptionsKit in_options, ulong[] in_vertices, ulong[] in_edges1, ulong[] in_edges2, ulong[] in_faces)

Highlight specified subentities for the specified key path using the specified highlight options.

Param in_item

The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_vertices

An array of vertex indices, specfying vertices to highlight.

Param in_edges1

An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.

Param in_edges2

An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.

Param in_faces

An array of faces indices specifying faces to highlight.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.KeyPath in_item, HPS.HighlightOptionsKit in_options, ulong[] in_vertices, ulong[] in_edges1, ulong[] in_edges2, ulong[] in_faces, bool in_remove_existing)

Highlight specified subentities for the specified key path using the specified highlight options.

Param in_item

The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_vertices

An array of vertex indices, specfying vertices to highlight.

Param in_edges1

An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.

Param in_edges2

An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.

Param in_faces

An array of faces indices specifying faces to highlight.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.SearchResults in_items, HPS.HighlightOptionsKit in_options)

Highlight the specified search results using the specified highlight options.

Param in_items

The search results to highlight. If there are invalid keys in the selection results, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.SearchResults in_items, HPS.HighlightOptionsKit in_options, bool in_remove_existing)

Highlight the specified search results using the specified highlight options.

Param in_items

The search results to highlight. If there are invalid keys in the selection results, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.SelectionItem in_item, HPS.HighlightOptionsKit in_options)

Highlight the specified selection item using the specified highlight options.

Param in_item

The selection item to highlight. If the selection item is invalid, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.SelectionItem in_item, HPS.HighlightOptionsKit in_options, bool in_remove_existing)

Highlight the specified selection item using the specified highlight options.

Param in_item

The selection item to highlight. If the selection item is invalid, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.SelectionResults in_items, HPS.HighlightOptionsKit in_options)

Highlight the specified selection results using the specified highlight options.

Param in_items

The selection results to highlight. If there are invalid selection items in the selection results, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Highlight (HPS.SelectionResults in_items, HPS.HighlightOptionsKit in_options, bool in_remove_existing)

Highlight the specified selection results using the specified highlight options.

Param in_items

The selection results to highlight. If there are invalid selection items in the selection results, an exception will be thrown.

Param in_options

The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.

Param in_remove_existing

Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.

Return

A reference to this HighlightControl.

HighlightControl (HPS.HighlightControl in_that)

The copy constructor creates a HighlightControl object that shares the underlying smart-pointer of the source HighlightControl.

Param in_that

The source HighlightControl to copy.

HighlightControl (HPS.WindowKey in_window)

This constructor creates a HighlightControl object which is tied to the specified window.

Param in_window

The window which this HighlightControl should operate on.

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 ShowHighlightState (HPS.Key in_key, HPS.HighlightSearchOptionsKit in_search_options, out HPS.HighlightState out_state)

Show the highlight information for the given key and search options.

Param in_key

Key to get highlight information for.

Param in_search_options

Search options constraining what type of highlights to look for. If this is empty, all highlights will be considered.

Param out_state

Highlight information for the queried key.

void ShowHighlightState (HPS.KeyPath in_key_path, HPS.HighlightSearchOptionsKit in_search_options, out HPS.HighlightState out_state)

Show the highlight information for the given key path and search options.

Param in_key_path

Key path to get highlight information for.

Param in_search_options

Search options constraining what type of highlights to look for. If this is empty, all highlights will be considered.

Param out_state

Highlight information for the queried key path.

void ShowHighlightStates (HPS.Key[] in_keys, HPS.HighlightSearchOptionsKit in_search_options, out HPS.HighlightState[] out_states)

Show the highlight information for the given keys and search options.

Param in_keys

Keys to get highlight information for.

Param in_search_options

Search options constraining what type of highlights to look for. If this is empty, all highlights will be considered.

Param out_states

Highlight information for the queried keys.

void ShowHighlightStates (HPS.KeyPath[] in_key_paths, HPS.HighlightSearchOptionsKit in_search_options, out HPS.HighlightState[] out_states)

Show the highlight information for the given key paths and search options.

Param in_key_paths

Key paths to get highlight information for.

Param in_search_options

Search options constraining what type of highlights to look for. If this is empty, all highlights will be considered.

Param out_states

Highlight information for the queried key paths.

HPS.HighlightControl Unhighlight (HPS.HighlightOptionsKit in_options)

Unhighlight geometry which was highlighted with the specified HighlightOptionsKit.

Param in_options

The highlight options to be removed.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.Key in_item)

Unhighlight the specified key by removing the specified highlight options.

Param in_item

The key to unhighlight. If the key is invalid, an exception will be thrown..

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.Key in_item, HPS.HighlightOptionsKit in_options)

Unhighlight the specified key by removing the specified highlight options.

Param in_item

The key to unhighlight. If the key is invalid, an exception will be thrown..

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.Key in_item, HPS.HighlightOptionsKit in_options, ulong[] in_vertices, ulong[] in_edges1, ulong[] in_edges2, ulong[] in_faces)

Unhighlight subentities from the specified item by removing the specified highlight options.

Param in_item

The key to unhighlight. If the key is invalid, an exception will be thrown..

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Param in_vertices

An array of vertex indices, specifying vertices to unhighlight.

Param in_edges1

An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to unhighlight.

Param in_edges2

An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.

Param in_faces

An array of faces indices specifying faces to unhighlight.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.KeyPath in_item)

Unhighlight the specified key path by removing the specified highlight options.

Param in_item

The key path to unhighlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.KeyPath in_item, HPS.HighlightOptionsKit in_options)

Unhighlight the specified key path by removing the specified highlight options.

Param in_item

The key path to unhighlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.KeyPath in_item, HPS.HighlightOptionsKit in_options, ulong[] in_vertices, ulong[] in_edges1, ulong[] in_edges2, ulong[] in_faces)

Unhighlight subentities from the specified key path by removing the specified highlight options.

Param in_item

The key path to unhighlight. If there are no keys or invalid keys in the key path, an exception will be thrown.

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Param in_vertices

An array of vertex indices, specifying vertices to unhighlight.

Param in_edges1

An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to unhighlight.

Param in_edges2

An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.

Param in_faces

An array of faces indices specifying faces to unhighlight.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.SearchResults in_items)

Unhighlight the specified search results by removing the specified highlight options.

Param in_items

The search results to unhighlight. If there are invalid keys in the search results, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.SearchResults in_items, HPS.HighlightOptionsKit in_options)

Unhighlight the specified search results by removing the specified highlight options.

Param in_items

The search results to unhighlight. If there are invalid keys in the search results, an exception will be thrown.

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.SelectionItem in_item)

Unhighlight the specified selection item by removing the specified highlight options.

Param in_item

The selection item to unhighlight. If the selection item is invalid, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.SelectionItem in_item, HPS.HighlightOptionsKit in_options)

Unhighlight the specified selection item by removing the specified highlight options.

Param in_item

The selection item to unhighlight. If the selection item is invalid, an exception will be thrown.

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.SelectionResults in_items)

Unhighlight the specified selection results by removing the specified highlight options.

Param in_items

The selection results to unhighlight. If there are invalid selection items in the selection results, an exception will be thrown.

Return

A reference to this HighlightControl.

HPS.HighlightControl Unhighlight (HPS.SelectionResults in_items, HPS.HighlightOptionsKit in_options)

Unhighlight the specified selection results by removing the specified highlight options.

Param in_items

The selection results to unhighlight. If there are invalid selection items in the selection results, an exception will be thrown.

Param in_options

The highlight options to be removed. Defaults to an empty HighlightOptionsKit.

Return

A reference to this HighlightControl.

HPS.HighlightControl UnhighlightEverything ()

Unhighlight everything in the window associated with this HighlightControl.

Return

A reference to this HighlightControl.

class HighlightEvent : public HPS.Event

The HighlightEvent class is the event that will be triggered for each highlight or unhighlight call.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this HighlightEvent.

Return

A copy of this HighlightEvent.

HighlightEvent ()

The default constructor creates an empty HighlightEvent object.

HighlightEvent (HPS.Event in_event)

This constructor converts an EventObject to a HighlightEvent object.

Param in_event

The EventObject to be converted.

class HighlightOptionsKit : public HPS.Kit

The HighlightOptionsKit class is a user space object. It is used to hold settings needed when performing a highlight or unhighlight. HPS.HighlightOptionsKit.GetDefault() will return a highlight options kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this HighlightOptionsKit has any values set on it.

Return

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

bool Equals (HPS.HighlightOptionsKit in_kit)

Check if the source HighlightOptionsKit is equivalent to this HighlightOptionsKit.

Param in_kit

The source HighlightOptionsKit to compare to this HighlightOptionsKit.

Return

true if the objects are equivalent, false otherwise.

HighlightOptionsKit ()

The default constructor creates an empty HighlightOptionsKit object.

HighlightOptionsKit (HPS.HighlightOptionsKit in_kit)

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

Param in_kit

The source HighlightOptionsKit to copy.

HighlightOptionsKit (string in_style_name)

This constructor creates a HighlightOptionsKit object with the specified style name set on it.

Param in_style_name

The style name to set on this HighlightOptionsKit.

HighlightOptionsKit (string in_style_name, string in_secondary_style_name)

This constructor creates a HighlightOptionsKit object with the specified style and secondary style names set on it.

Param in_style_name

The style name to set on this HighlightOptionsKit.

Param in_secondary_style_name

The style name to set on this HighlightOptionsKit.

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

Copies the source HighlightOptionsKit into this HighlightOptionsKit.

Param in_kit

The source HighlightOptionsKit to copy.

HPS.HighlightOptionsKit SetNotification (bool in_state)

Whether to inject a notification event after highlighting (or unhighlighting).

See

Notification default value

Param in_state

Whether to inject a notification event after highlighting (or unhighlighting).

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit SetOverlay (HPS.Drawing.Overlay in_overlay)

Allows highlighting to take place in a segment without triggering a full-screen redraw. If any type of overlay is used, transparency in the highlighted object(s) will be ignored.

See

Overlay default value

Note

If in_overlay is specified as Drawing.Overlay.None, Drawing.Overlay.InPlace will be used instead

Param in_overlay

The type of overlay, if any, to be used. If this HighlightOptionsKit is being passed to an Unhighlight call, only highlights whose overlay type match in_overlay will be removed.

Return

A reference to this object.

HPS.HighlightOptionsKit SetPassive (bool in_pasive)

Sets whether the highlight(s) to apply (or unapply) are passive.

Param in_pasive

If set to true attribute locks set on the path being highlighted will be honored by the highlight. If set to false attribute locks set on the path being highlighted will be overriden by the highlight. If unspecified the default is false. If this HighlightOptionsKit is being passed to an Unhighlight call, only highlights whose passiveness match in_pasive will be removed.

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit SetSecondaryStyleName (string in_style_name)

Sets the name of the secondary style to apply (or unapply) when highlighting (or unhighlighting).

Param in_style_name

UTF8-encoded style name.

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit SetStyleName (string in_style_name)

Sets the name of the style to apply (or unapply) when highlighting (or unhighlighting).

Param in_style_name

UTF8-encoded style name. If this HighlightOptionsKit is being passed to an Unhighlight call, only highlights whose style name match in_style_name will be removed.

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit SetSubentityHighlighting (bool in_enable)

Sets whether subentity highlighting is enabled.

Param in_enable

Whether subentity highlighting is enabled.

Return

A reference to this HighlightOptionsKit.

void Show (out HPS.HighlightOptionsKit out_kit)

Copies this HighlightOptionsKit into the given HighlightOptionsKit.

Param out_kit

The HighlightOptionsKit to populate with the contents of this HighlightOptionsKit.

bool ShowNotification (out bool out_state)

Shows the notification setting.

Param out_state

Whether to inject a notification event after highlighting (or unhighlighting).

Return

true if a notification setting was specified, false otherwise.

bool ShowOverlay (out HPS.Drawing.Overlay out_overlay)

Shows the overlay setting.

Param out_overlay

The type of overlay, if any, used.

Return

true if the setting is valid, false otherwise.

bool ShowPassive (out bool out_pasive)

Shows whether the highlight(s) to apply (or unapply) is passive.

Param out_pasive

Indicates whether the highlight(s) to apply (or unapply) is passive.

Return

A reference to this HighlightOptionsKit.

bool ShowSecondaryStyleName (out string out_style_name)

Shows the name of the secondary style to apply (or unapply) when highlighting (or unhighlighting).

Param out_style_name

UTF8-encoded style name.

Return

true if a style was specified, false otherwise.

bool ShowStyleName (out string out_style_name)

Shows the name of the style to apply (or unapply) when highlighting (or unhighlighting).

Param out_style_name

UTF8-encoded style name.

Return

true if a style was specified, false otherwise.

bool ShowSubentityHighlighting (out bool out_enable)

Shows whether subentity highlighting is enabled.

Param out_enable

Whether subentity highlighting is enabled.

Return

true if a flag was specified, false otherwise.

HPS.HighlightOptionsKit UnsetEverything ()

Removes all settings from this HighlightOptionsKit.

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit UnsetNotification ()

Removes the notification setting.

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit UnsetOverlay ()

Removes an overlay setting.

Return

A reference to this object.

HPS.HighlightOptionsKit UnsetPassive ()

Removes any preference on whether this highlight is passive or active.

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit UnsetSecondaryStyleName ()

Removes the secondary style to apply (or unapply) when highlighting (or unhighlighting).

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit UnsetStyleName ()

Removes the style to apply (or unapply) when highlighting (or unhighlighting).

Return

A reference to this HighlightOptionsKit.

HPS.HighlightOptionsKit UnsetSubentityHighlighting ()

Removes whether subentity highlighting is enabled.

Return

A reference to this HighlightOptionsKit.

Public Static Functions

HPS.HighlightOptionsKit GetDefault ()

Creates a HighlightOptionsKit 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 HighlightOptionsKit with the default settings.

class HighlightSearch : public IDisposable

The HighlightSearch class is a concept class for highlight search related enum classes.

Public Types

enum Scope

Enumeration of how to interpret path scope when performing a highlight search.

Values:

AtOrAbovePath

Only return highlights that apply at or above the specified path.

AtOrBelowPath

Only return highlights that apply at or below the specified path.

ExactPath

Only return highlights that apply at exactly the specified path.

class HighlightSearchOptionsKit : public HPS.Kit

The HighlightSearchOptionsKit class is a user space object. It is used to filter highlight queries via HighlightControl.ShowHighlightState, HighlightControl.ShowHighlightStates, and WindowKey.FindHighlights.

Public Functions

override bool Empty ()

Indicates whether this HighlightSearchOptionsKit has any values set on it.

Return

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

bool Equals (HPS.HighlightSearchOptionsKit in_kit)

Check if the source HighlightSearchOptionsKit is equivalent to this HighlightSearchOptionsKit.

Param in_kit

The source HighlightSearchOptionsKit to compare to this HighlightSearchOptionsKit.

Return

true if the objects are equivalent, false otherwise.

HighlightSearchOptionsKit ()

The default constructor creates an empty HighlightSearchOptionsKit object.

HighlightSearchOptionsKit (HPS.HighlightSearchOptionsKit in_kit)

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

Param in_kit

The source HighlightSearchOptionsKit to copy.

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

Copies the source HighlightSearchOptionsKit into this HighlightSearchOptionsKit.

Param in_kit

The source HighlightSearchOptionsKit to copy.

HPS.HighlightSearchOptionsKit SetOverlay (HPS.Drawing.Overlay in_overlay)

Sets the overlay type to look for when querying highlights. Only highlights using this overlay type will be returned by highlight queries.

Param in_overlay

Overlay type.

Return

A reference to this object.

HPS.HighlightSearchOptionsKit SetOverlays (HPS.Drawing.Overlay[] in_overlays)

Sets the overlay types to look for when querying highlights. Only highlights using any overlay types in the array will be returned by highlight queries.

Param in_overlays

Overlay types.

Return

A reference to this object.

HPS.HighlightSearchOptionsKit SetStyleName (string in_style_name)

Sets the name of the style to look for when querying highlights. Only highlights using this style will be returned by highlight queries.

Param in_style_name

UTF8-encoded style name.

Return

A reference to this HighlightSearchOptionsKit.

void Show (out HPS.HighlightSearchOptionsKit out_kit)

Copies this HighlightSearchOptionsKit into the given HighlightSearchOptionsKit.

Param out_kit

The HighlightSearchOptionsKit to populate with the contents of this HighlightSearchOptionsKit.

bool ShowOverlays (out HPS.Drawing.Overlay[] out_overlays)

Shows the overlay types to look for when querying highlights.

Param out_overlays

Overlay types.

Return

true if the setting is valid, false otherwise.

HPS.HighlightSearchOptionsKit UnsetEverything ()

Removes all settings from this HighlightSearchOptionsKit.

Return

A reference to this HighlightSearchOptionsKit.

HPS.HighlightSearchOptionsKit UnsetOverlays ()

Removes all overlay filters.

Return

A reference to this object.

HPS.HighlightSearchOptionsKit UnsetStyleNames ()

Removes all style filters.

Return

A reference to this HighlightSearchOptionsKit.

Public Static Functions

HPS.HighlightSearchOptionsKit GetDefault ()

Creates a HighlightSearchOptionsKit 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 HighlightSearchOptionsKit with the default settings.

class HighlightSearchResults : public HPS.Object

The HighlightSearchResults class is a smart-pointer to a database object. It contains the results of a FindHighlights operation.

Public Functions

void Assign (HPS.HighlightSearchResults in_search_results)

Share the underlying smart-pointer if the assignment source. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_search_results

The source of the assignment.

ulong GetCount ()

Gets the number of items that were found in the associated search.

Return

The number of unique items found.

HPS.HighlightSearchResultsIterator GetIterator ()

Returns a HighlightSearchResultsIterator used to iterate through the found search results.

Return

An iterator pointing to the beginning of the search results list.

HighlightSearchResults (HPS.HighlightSearchResults in_search_results)

The copy constructor creates a new HighlightSearchResults object that shares the underlying smart-pointer of the source.

Param in_search_results

The source of the copy.

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.

override void Reset ()

Resets this object to its initial, uninitialized state.

class HighlightSearchResultsIterator : public HPS.Object

An iterator used for traversing results from a search on an associated HighlightSearchResults object.

Public Functions

HPS.KeyPath GetItem ()

Returns the item that this iterator is currently pointing at. Throws an InvalidObjectException if the iterator is not valid. This method is functionally equivalent to the overloaded operator*.

Return

The current item.

HPS.Drawing.Overlay GetOverlay ()

Returns the overlay type for the key path that this iterator is currently pointing at. Throws an InvalidObjectException if the iterator is not valid.

Return

The overlay type.

bool GetPassive ()

Indicates whether the highlight associated with this iterator is passive. Throws an InvalidObjectException if the iterator is not valid.

Return

Whether the highlight is passive.

string GetStyleName ()

Returns the highlight style for the key path that this iterator is currently pointing at. Throws an InvalidObjectException if the iterator is not valid.

Return

The highlight style.

HighlightSearchResultsIterator ()

The default constructor creates a new HighlightSearchResultsIterator object that is not associated with any HighlightSearchResults object.

HighlightSearchResultsIterator (HPS.HighlightSearchResultsIterator in_search_results_iterator)

The copy constructor initializes a new HighlightSearchResultsIterator object that is associated with the same HighlightSearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Param in_search_results_iterator

The source of the copy.

bool IsValid ()

Queries the validity of this iterator location. Invalid locations would include uninitialized iterators and iterators that had walked past the last element.

Return

true if this iterator is pointing to a valid item, false otherwise.

void Next ()

Advances the iterator to the next search result item

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.

override void Reset ()

Resets iterator to the beginning of the associated search results.

void Set (HPS.HighlightSearchResultsIterator in_search_results_iterator)

Copies a HighlightSearchResultsIterator object, associating this object with the same HighlightSearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_search_results_iterator

The source of the copy.

class HighlightState : public HPS.Object

The HighlightState class is a user space object. It is used to return highlight information from HighlightControl.ShowHighlightState or HighlightControl.ShowHighlightStates.

Public Functions

void Assign (HPS.HighlightState in_that)

Copies the source HighlightState into this HighlightState.

Param in_that

The source HighlightState to copy.

bool Equals (HPS.HighlightState in_that)

Check if the source HighlightState is equivalent to this HighlightState.

Return

true if the objects are equivalent, false otherwise.

bool GetDirectlyHighlighted ()

Indicates if a highlight exists on the queried key or key path.

Return

Whether a highlight exists on the queried key or key path.

bool GetInheritsHighlight ()

Indicates if a highlight exists above the queried key or key path.

Return

Whether a highlight exists above the queried key or key path.

bool GetOnHighlightPath ()

Indicates if a highlight exists below the queried key or key path.

Return

Whether a highlight exists below the queried key or key path.

bool GetSubentityHighlighted ()

Indicates if a sub-entity highlight exists on the queried key or key path. This value is only meaningful if the queried key or leaf of the key path is a shell or mesh since these are the only geometries for which it is possible to have subentity highlights.

Return

Whether a subentity highlight exists on the queried key or key path.

HighlightState ()

The default constructor creates an empty HighlightState object.

HighlightState (HPS.HighlightState in_that)

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

Param in_that

The source HighlightState to copy.

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 (bool in_directly_highlighted, bool in_subentity_highlighted, bool in_inherits_highlight, bool in_on_highlight_path)

Sets the flags for this HighlightState. This facilitates the return of highlight state data to the user, and is not meant to be used outside of that use case.

class HighlightStateArray : public HPS::InternalHPSArray<HPS.HighlightState>
class HPS_pinvoke
class Image : public IDisposable

The Image class contains objects for importing image files and enumerations used when defining images in Visualize.

Public Types

enum Format

Enumerates the various image formats that Visualize supports.

Values:

RGB

Uncompressed, one unsigned byte per channel, three unsigned bytes per pixel, RGB order.

RGBA

Uncompressed, one unsigned byte per channel, four unsigned bytes per pixel, RGBA order.

ARGB

Uncompressed, one unsigned byte per channel, four unsigned bytes per pixel, ARGB order.

Mapped8

Uncompressed, one unsigned byte per pixel, each unsigned byte is an index into a material palette.

Grayscale

Uncompressed, one unsigned byte per pixel.

Bmp

Uncompressed, 1bpp (Mono), 8 bpp (Greyscale), 16 bpp (ARGB/RGB), 24bpp (RGB), 32bpp (ARGB).

Jpeg

Compressed, JPEG format.

Png

Compressed, PNG format.

Targa

Compressed, TARGA Format.

DXT1

Compressed, DXT1 Format.

DXT3

Compressed, DXT3 Format.

DXT5

Compressed, DXT5 Format.

class ExportOptionsKit : public HPS.Kit

The HPS.Image.ExportOptionsKit class contains options that will be used to export image files. Calling HPS.Image.ExportOptionsKit.GetDefault() will return an options kit with values found in this table.

Public Functions

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

ExportOptionsKit ()

The default constructor creates an empty ExportOptionsKit object.

ExportOptionsKit (HPS.Image.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 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.Image.ExportOptionsKit in_kit)

Copies the source ExportOptionsKit into this ExportOptionsKit.

Param in_kit

The source ExportOptionsKit to copy.

HPS.Image.ExportOptionsKit SetFormat (HPS.Image.Format in_format)

Sets the format of the image. This must be specified when exporting any image.

See

Export format default value

Param in_format

The format of the image.

Return

A reference to this ExportOptionsKit.

HPS.Image.ExportOptionsKit SetSize (uint in_width, uint in_height)

Sets the width and height (in pixels) of the image. If this is not specified , an exception will be thrown on export.

Param in_width

The width (in pixels) of the image.

Param in_height

The height (in pixels) of the image.

Return

A reference to this ExportOptionsKit.

HPS.Image.ExportOptionsKit SetTransparentBackground (bool in_state)

Sets whether the image background will be transparent. This setting is only valid when exporting a PNG image.

Param in_state

Whether the image background will be transparent.

Return

A reference to this ExportOptionsKit.

void Show (out HPS.Image.ExportOptionsKit out_kit)

Copies this ExportOptionsKit into the given ExportOptionsKit.

Param out_kit

The ExportOptionsKit to populate with the contents of this ExportOptionsKit.

bool ShowFormat (out HPS.Image.Format out_format)

Shows the format of the image.

Param out_format

The format of the image.

Return

true if the format is valid, false otherwise.

bool ShowSize (out uint out_width, out uint out_height)

Shows the width and height (in pixels) of the image.

Param out_width

The width (in pixels) of the image.

Param out_height

The height (in pixels) of the image.

Return

true if the width and height are valid, false otherwise.

bool ShowTransparentBackground (out bool out_state)

Shows transparent background setting for this image

Param out_state

The transparent background setting for this image.

Return

true if a background preference was specified, false otherwise.

HPS.Image.ExportOptionsKit UnsetEverything ()

Removes all settings from this ExportOptionsKit.

Return

A reference to this ExportOptionsKit.

HPS.Image.ExportOptionsKit UnsetFormat ()

Removes the format of the image.

Return

A reference to this ExportOptionsKit.

HPS.Image.ExportOptionsKit UnsetSize ()

Removes the width and height of the image.

Return

A reference to this ExportOptionsKit.

HPS.Image.ExportOptionsKit UnsetTransparentBackground ()

Removes the transparent background setting of the image.

Return

A reference to this ExportOptionsKit.

Public Static Functions

HPS.Image.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.

class File : public IDisposable

The File class provides a function to import and export image files.

Public Static Functions

void Export (string in_file_name, HPS.ImageKit in_image_kit)

Performs a synchronous export to an image from the specified ImageKit May throw an exception if a problem occurs during export, or if the image kit provided is incomplete

Param in_file_name

Name of image file to which to save the data.

Param in_image_kit

ImageKit containing the data, size and format of the image to be exported

void Export (string in_file_name, HPS.WindowKey in_window, HPS.Image.ExportOptionsKit in_options)

Performs a synchronous export to an image of the specified window. May throw an IOException if a problem occurs during export.

Param in_file_name

Name of image file to which to save the data.

Param in_window

The WindowKey where the screen-shot will be taken

Param in_options

Options to use during export. If the option does not have size defined the size of in_window is used.

void Export (string in_file_name, HPS.WindowKey in_window, uint in_width, uint in_height)

Performs a synchronous export to an image of the specified window. May throw an IOException if a problem occurs during export.

Param in_file_name

Name of image file to which to save the data.

Param in_window

The WindowKey where the screen-shot will be taken

Param in_width

The width of the exported image, in pixels

Param in_height

The height of the exported image, in pixels

void Export (string in_file_name, HPS.WindowKey in_window, uint in_width, uint in_height, HPS.Image.Format in_format)

Performs a synchronous export to an image of the specified window. May throw an IOException if a problem occurs during export.

Param in_file_name

Name of image file to which to save the data.

Param in_window

The WindowKey where the screen-shot will be taken

Param in_width

The width of the exported image, in pixels

Param in_height

The height of the exported image, in pixels

Param in_format

The format of the exported image, defaults to PNG

void Export (string in_file_name, HPS.WindowKey in_window, uint in_width, uint in_height, HPS.Image.Format in_format, bool in_transparent_background)

Performs a synchronous export to an image of the specified window. May throw an IOException if a problem occurs during export.

Param in_file_name

Name of image file to which to save the data.

Param in_window

The WindowKey where the screen-shot will be taken

Param in_width

The width of the exported image, in pixels

Param in_height

The height of the exported image, in pixels

Param in_format

The format of the exported image, defaults to PNG

Param in_transparent_background

Whether to render the background as transparent. Only valid if in_format is PNG. Defaults to false.

HPS.ImageKit Import (string in_file_name, HPS.Image.ImportOptionsKit in_options)

Performs a synchronous import of the specified image file. The function returns an ImageKit with the data from the image file and with the specified options. May throw an IOException if a problem occurs during import.

Param in_file_name

Name of image file from which to get the data.

Param in_options

Options to use during import and to set on the ImageKit returned by this function.

Return

An ImageKit containing the data from the specified file and with the specified options.

class ImportOptionsKit : public HPS.Kit

The ImportOptionsKit class contains options that will be used to import image files and will be set on the ImageKit returned by File.Import.

Public Functions

override bool Empty ()

Indicates whether this ImportOptionsKit has any values set on it.

Return

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

bool Equals (HPS.Image.ImportOptionsKit in_kit)

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to compare to this ImportOptionsKit.

Return

true if the objects are equivalent, false otherwise.

ImportOptionsKit ()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit (HPS.Image.ImportOptionsKit in_kit)

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

Param in_kit

The source ImportOptionsKit to copy.

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.Image.ImportOptionsKit in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to copy.

HPS.Image.ImportOptionsKit SetCompressionQuality (float in_quality)

Sets the compression quality for the image. This setting will be copied over to the ImageKit returned from File.Import. It doesn’t need to be set for the import to succeed.

Param in_quality

The compression quality for the image.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit SetDownSampling (bool in_state)

Sets whether to down-sample the image. This setting will be copied over to the ImageKit returned from File.Import. It doesn’t need to be set for the import to succeed.

Param in_state

Whether to down-sample the image.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit SetFormat (HPS.Image.Format in_format)

Sets the format of the image. This must be specified when importing any image.

Param in_format

The format of the image.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit SetSize (uint in_width, uint in_height)

Sets the width and height (in pixels) of the image. This does not need to be set when importing image files which contain this information (i.e., Image.Jpeg, Image.Png or Image.Targa). If this is not specified for images files which do not contain this information, an exception will be thrown on import.

Param in_width

The width (in pixels) of the image.

Param in_height

The height (in pixels) of the image.

Return

A reference to this ImportOptionsKit.

void Show (out HPS.Image.ImportOptionsKit out_kit)

Copies this ImportOptionsKit into the given ImportOptionsKit.

Param out_kit

The ImportOptionsKit to populate with the contents of this ImportOptionsKit.

bool ShowCompressionQuality (out float out_quality)

Shows the compression quality for the image.

Param out_quality

The compression quality for the image.

Return

true if the compression quality is valid, false otherwise.

bool ShowDownSampling (out bool out_state)

Shows whether to down-sample the image.

Param out_state

whether to down-sample the image.

Return

true if the flag is valid, false otherwise.

bool ShowFormat (out HPS.Image.Format out_format)

Shows the format of the image.

Param out_format

The format of the image.

Return

true if the format is valid, false otherwise.

bool ShowSize (out uint out_width, out uint out_height)

Shows the width and height (in pixels) of the image.

Param out_width

The width (in pixels) of the image.

Param out_height

The height (in pixels) of the image.

Return

true if the width and height are valid, false otherwise.

HPS.Image.ImportOptionsKit UnsetCompressionQuality ()

Removes the compression quality for the image.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit UnsetDownSampling ()

Removes whether to down-sample the image.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit UnsetEverything ()

Removes all settings from this ImportOptionsKit.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit UnsetFormat ()

Removes the format of the image.

Return

A reference to this ImportOptionsKit.

HPS.Image.ImportOptionsKit UnsetSize ()

Removes the width and height of the image.

Return

A reference to this ImportOptionsKit.

class ImageDefinition : public HPS.Definition

The ImageDefinition class is a smart pointer to a database object. It is a handle to an image defined within a portolfio.

Public Functions

ImageDefinition ()

The default constructor creates an uninitialized ImageDefinition object. The Type() function will return Type.None.

ImageDefinition (HPS.Definition in_that)

This constructor creates an ImageDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of an image definition. Otherwise the copy will fail and the resulting ImageDefinition will be invalid.

Param in_that

The source Definition to copy.

ImageDefinition (HPS.ImageDefinition in_that)

The copy constructor creates an ImageDefinition object that shares the underlying smart-pointer of the source ImageDefinition.

Param in_that

The source ImageDefinition to copy.

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

Redefine the image for this ImageDefinition.

Param in_kit

The new image for this ImageDefinition.

void Show (out HPS.ImageKit out_kit)

Shows the image for this ImageDefinition.

Param out_kit

The image for this ImageDefinition.

class ImageDefinitionArray : public HPS::InternalHPSArray<HPS.ImageDefinition>
class ImageGlyphElement : public HPS.GlyphElement

The ImageGlyphElement class is a user space object.

Public Functions

ImageGlyphElement ()

The default constructor creates an empty ImageGlyphElement object.

ImageGlyphElement (HPS.GlyphElement in_that)

This constructor creates a ImageGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of a line glyph element. Otherwise the copy will fail and the resulting LineGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

ImageGlyphElement (HPS.ImageGlyphElement in_that)

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

Param in_that

The source ImageGlyphElement to copy.

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 SetDecimationFilter (bool in_filter)

Sets if decimation filtering is use for this ImageGlyphElement.

Param in_filter

If the glyph should use decimation filtering. The default is true.

void SetFixedColoring (bool in_fixed_color)

Sets if fixed color is used for this ImageGlyphElement.

Param in_fixed_color

If the glyph should use the image colors or the effective marker color. The default is true.

void SetFixedScaling (bool in_fixed_scale)

Sets if fixed scaling is used for this ImageGlyphElement.

Param in_fixed_scale

If the glyph should use the image size for scaling or the effective marker size. The default is true.

void SetInterpolationFilter (bool in_filter)

Sets if interpolation filtering is use for this ImageGlyphElement.

Param in_filter

If the glyph should use interpolation filtering. The default is true.

void SetOffset (float in_x_offset, float in_y_offset)

Sets an offset for the center of this ImageGlyphElement. The expected range of offset values is [0, 1]. This locates the origin of the glyph coordinate system relative to the center of the glyph.

Param in_x_offset

The x offset of the source image. The default is 0.5.

Param in_y_offset

The y offset of the source image. The default is 0.5.

void SetRotation (float in_rotation)

Sets a rotation this ImageGlyphElement.

Param in_rotation

The rotation in degrees for the source image. The default is 0.0.

void SetScaling (float in_x_scale, float in_y_scale)

Sets extra scaling for this ImageGlyphElement.

Param in_x_scale

The x scaling of the source image. The default is 1.0.

Param in_y_scale

The y scaling of the source image. The default is 1.0.

void SetSource (string in_name)

Sets the source image by name for this ImageGlyphElement.

Param in_name

The name of the source image.

bool ShowDecimationFilter (out bool out_filter)

Shows if decimation filtering is use for this ImageGlyphElement.

Param out_filter

If the glyph should use decimation filtering.

Return

true if a decimation filtering was set, false otherwise.

bool ShowFixedColoring (out bool out_fixed_color)

Shows if fixed color is used for this ImageGlyphElement.

Param out_fixed_color

If the glyph should use the image colors or the effective marker color.

Return

true if a fixed color was set, false otherwise.

bool ShowFixedScaling (out bool out_fixed_scale)

Shows if fixed scaling is used for this ImageGlyphElement.

Param out_fixed_scale

If the glyph should use the image size for scaling or the effective marker size.

Return

true if a fixed scaling was set, false otherwise.

bool ShowInterpolationFilter (out bool out_filter)

Shows if interpolation filtering is use for this ImageGlyphElement.

Param out_filter

If the glyph should use interpolation filtering.

Return

true if a interpolation filtering was set, false otherwise.

bool ShowOffset (out float out_x_offset, out float out_y_offset)

Shows an offset for the center of this ImageGlyphElement.

Param out_x_offset

The x offset of the source image.

Param out_y_offset

The y offset of the source image.

Return

true if an offset was set, false otherwise.

bool ShowRotation (out float out_rotation)

Shows a rotation this ImageGlyphElement.

Param out_rotation

The rotation in degrees for the source image.

Return

true if a rotation was set, false otherwise.

bool ShowScaling (out float out_x_scale, out float out_y_scale)

Shows extra scaling for this ImageGlyphElement.

Param out_x_scale

The x scaling of the source image.

Param out_y_scale

The y scaling of the source image.

Return

true if a scaling was set, false otherwise.

bool ShowSource (out string out_name)

Shows the source image by name for this ImageGlyphElement.

Param out_name

UTF8-encoded name of the source image.

Return

true if a source image name was set, false otherwise.

class ImageKit : public HPS.Kit

The ImageKit class is a user space object. It is used for specifying all data associated with images.

Public Functions

void Convert (HPS.Image.Format in_format)

Converts this ImageKit to the specified format.

Param in_format

The format to convert the ImageKit to.

void Convert (HPS.ImageKit in_kit, HPS.Image.Format in_format)

Copies the source ImageKit into this ImageKit but converts it to the specified format.

Param in_kit

The source ImageKit to copy and convert.

Param in_format

The format to convert the source ImageKit to.

override bool Empty ()

Indicates whether this ImageKit has any values set on it.

Return

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

bool Equals (HPS.ImageKit in_kit)

Check if the source ImageKit is equivalent to this ImageKit.

Param in_kit

The source ImageKit to compare to this ImageKit.

Return

true if the objects are equivalent, false otherwise.

ImageKit ()

The default constructor creates an empty ImageKit object.

ImageKit (HPS.ImageKit in_kit)

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

Param in_kit

The source ImageKit to copy.

ImageKit (HPS.ImageKit in_kit, HPS.Image.Format in_format)

This constructor creates a new ImageKit object that contains the same settings as the source ImageKit but converts it to the specified format.

Param in_kit

The source ImageKit to copy and convert.

Param in_format

The format to convert the source ImageKit to.

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

Copies the source ImageKit into this ImageKit.

Param in_kit

The source ImageKit to copy.

HPS.ImageKit SetCompressionQuality (float in_quality)

Sets the compression quality for the image. Values range from highest compression and poorest quality (0) to no compression and full quality (1).

Param in_quality

The compression quality for the image, a floating point value between 0 and 1.

Return

A reference to this ImageKit.

HPS.ImageKit SetData (byte[] in_image_data)

Sets the data for the image.

Param in_image_data

The array of data for the image.

Return

A reference to this ImageKit.

HPS.ImageKit SetDownSampling (bool in_state)

Sets the whether to down-sample the image.

Param in_state

Whether to down-sample the image.

Return

A reference to this ImageKit.

HPS.ImageKit SetFormat (HPS.Image.Format in_format)

Sets the format of the image.

Param in_format

The format of the image.

Return

A reference to this ImageKit.

HPS.ImageKit SetSize (uint in_width, uint in_height)

Sets the width and height (in pixels) of the image.

Param in_width

The width (in pixels) of the image.

Param in_height

The height (in pixels) of the image.

Return

A reference to this ImageKit.

void Show (out HPS.ImageKit out_kit)

Copies this ImageKit into the given ImageKit.

Param out_kit

The ImageKit to populate with the contents of this ImageKit.

bool ShowCompressionQuality (out float out_quality)

Shows the compression quality for the image.

Param out_quality

The compression quality for the image.

Return

true if the compression quality is valid, false otherwise.

bool ShowData (out byte[] out_image_data)

Shows the data for the image.

Param out_image_data

The array of data for the image.

Return

true if the data array is valid, false otherwise.

bool ShowDownSampling (out bool out_state)

Shows whether to down-sample the image.

Param out_state

whether to down-sample the image.

Return

true if the flag is valid, false otherwise.

bool ShowFormat (out HPS.Image.Format out_format)

Shows the format of the image.

Param out_format

The format of the image.

Return

true if the format is valid, false otherwise.

bool ShowSize (out uint out_width, out uint out_height)

Shows the width and height (in pixels) of the image.

Param out_width

The width (in pixels) of the image.

Param out_height

The height (in pixels) of the image.

Return

true if the width and height are valid, false otherwise.

HPS.ImageKit UnsetCompressionQuality ()

Removes the compression quality for the image.

Return

A reference to this ImageKit.

HPS.ImageKit UnsetData ()

Removes the data for the image.

Return

A reference to this ImageKit.

HPS.ImageKit UnsetDownSampling ()

Removes whether to down-sample the image.

Return

A reference to this ImageKit.

HPS.ImageKit UnsetEverything ()

Removes all settings from this ImageKit.

Return

A reference to this ImageKit.

HPS.ImageKit UnsetFormat ()

Removes the format of the image.

Return

A reference to this ImageKit.

HPS.ImageKit UnsetSize ()

Removes the width and height of the image.

Return

A reference to this ImageKit.

class ImportStatusEvent : public HPS.Event

The ImportStatusEvent class is the event that can be used by importers to let the user know what they are currently working on

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this ImportStatusEvent.

Return

A copy of this ImportStatusEvent.

ImportStatusEvent ()

The default constructor creates a ImportStatusEvent.

ImportStatusEvent (HPS.Event in_event)

This constructor converts an EventObject to an ImportStatusEvent object.

Param in_event

The EventObject to be converted.

class IncludeKey : public HPS.Key

The IncludeKey class is a smart pointer to a database object. It is a handle to an include key created by SegmentKey.IncludeSegment.

Public Functions

HPS.SegmentKey GetTarget ()

Gets the target, i.e., the segment to be included, for this IncludeKey.

Return

The target, i.e., the segment to be included, for this IncludeKey.

IncludeKey ()

The default constructor creates an uninitialized IncludeKey object. The Type() function will return Type.None.

IncludeKey (HPS.IncludeKey in_that)

The copy constructor creates a IncludeKey object that shares the underlying smart-pointer of the source IncludeKey.

Param in_that

The source IncludeKey to copy.

IncludeKey (HPS.Key in_that)

This constructor creates an IncludeKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an include key. Otherwise the copy will fail and the resulting IncludeKey will be invalid.

Param in_that

The source Key to copy.

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.

HPS.IncludeKey SetConditionalExpression (HPS.ConditionalExpression in_conditional)

Sets a conditional expression on this IncludeKey. This will either make an unconditional include into a conditional include, or modify the condition for an existing conditional include. The target segment referenced by this include will only be included if a condition satisfying the given conditional expression is set above this include in the tree.

See

SegmentKey.SetCondition

See

ConditionControl.SetCondition

See

ConditionControl.AddCondition

Param in_conditional

The conditional expression for this IncludeKey.

Return

A reference to this IncludeKey.

HPS.IncludeKey SetFilter (HPS.AttributeLock.Type in_type)

Sets an attribute filter on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

See

IncludeKey.UnsetFilter

See

IncludeKey.ShowFilter

Param in_type

The attribute filter to set for this IncludeKey.

Return

A reference to this IncludeKey.

HPS.IncludeKey SetFilter (HPS.AttributeLock.Type[] in_types)

Sets an array of attribute filters on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

See

IncludeKey.UnsetFilter

See

IncludeKey.ShowFilter

Param in_types

The array of attribute filters to set for this IncludeKey.

Return

A reference to this IncludeKey.

HPS.IncludeKey SetPriority (int in_priority)

Assigns a specific drawing priority value of an include. It affects the order in which the include is visited, if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are visited before lower priority items.

Return

A reference to this object.

bool ShowConditionalExpression (out HPS.ConditionalExpression out_conditional)

Shows the conditional expression for this IncludeKey.

Param out_conditional

The conditional expression for this IncludeKey.

Return

true if a conditional expression is set on this IncludeKey, false otherwise.

bool ShowFilter (HPS.AttributeLock.Type in_type)

Tests if a specific attribute filter is set on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

See

IncludeKey.SetFilter

See

IncludeKey.UnsetFilter

Param in_type

The attribute filter to test on this IncludeKey.

Return

true if the specified atribute filter is active on this IncludeKey, false otherwise.

bool ShowFilter (out HPS.AttributeLock.Type[] out_types)

Shows an array of the current attribute filters on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

See

IncludeKey.SetFilter

See

IncludeKey.UnsetFilter

Param out_types

The array of attribute filters currently set on this IncludeKey.

Return

true if there are attribute filters, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

HPS.IncludeKey UnsetConditionalExpression ()

Removes the conditional expression on this IncludeKey. This will turn a conditional include into an unconditional include.

Return

A reference to this IncludeKey.

HPS.IncludeKey UnsetFilter (HPS.AttributeLock.Type in_type)

Removes an attribute filter from this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

See

IncludeKey.SetFilter

See

IncludeKey.ShowFilter

Param in_type

The attribute filter to remove from this IncludeKey.

Return

A reference to this IncludeKey.

HPS.IncludeKey UnsetFilter (HPS.AttributeLock.Type[] in_types)

Removes an array of attribute filters from this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

See

IncludeKey.SetFilter

See

IncludeKey.ShowFilter

Param in_types

The array of attribute filters to remove from this IncludeKey.

Return

A reference to this IncludeKey.

HPS.IncludeKey UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

class IncludeKeyArray : public HPS::InternalHPSArray<HPS.IncludeKey>
class IndexOutOfRangeException : public HPS.Exception

An IndexOutOfRangeException is thrown when a user tries to access an array element beyond the valid range, typically when interacting with the points or faces defining geometry.

class InfiniteLine : public IDisposable

The InfiniteLine class is a concept class for infinite-line-related enum classes.

class InfiniteLineGlyphElement : public HPS.GlyphElement

The InfiniteLineGlyphElement class is a user space object. It is used to add infinite line and ray elements to a glyph.

Public Functions

InfiniteLineGlyphElement ()

The default constructor creates an empty InfiniteLineGlyphElement object.

InfiniteLineGlyphElement (HPS.GlyphElement in_that)

This constructor creates a InfiniteLineGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of an infinite line glyph element. Otherwise the copy will fail and the resulting InfiniteLineGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

InfiniteLineGlyphElement (HPS.GlyphPoint in_first, HPS.GlyphPoint in_second)

This constructor creates a InfiniteLineGlyphElement with the specified vector and type.

Param in_first

The first point along the InfiniteLineGlyphElement

Param in_second

The second point along the InfiniteLineGlyphElement

InfiniteLineGlyphElement (HPS.GlyphPoint in_first, HPS.GlyphPoint in_second, HPS.InfiniteLine.Type in_type)

This constructor creates a InfiniteLineGlyphElement with the specified vector and type.

Param in_first

The first point along the InfiniteLineGlyphElement

Param in_second

The second point along the InfiniteLineGlyphElement

Param in_type

The type of infinite line - either Ray or Line

InfiniteLineGlyphElement (HPS.InfiniteLineGlyphElement in_that)

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

Param in_that

The source InfiniteLineGlyphElement to copy.

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 SetFirstPoint (HPS.GlyphPoint in_point)

Sets the first point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Param in_point

The first point for the vector defining the infinite line or ray.

void SetInfiniteType (HPS.InfiniteLine.Type in_type)

Sets the type of this InfiniteLineGlyphElement, i.e., whether it represents an infinite line or ray.

Param in_type

The type of this InfiniteLineGlyphElement.

void SetPoints (HPS.GlyphPoint in_first, HPS.GlyphPoint in_second)

Sets the points for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Param in_first

The first point for the vector defining the infinite line or ray.

Param in_second

The second point for the vector defining the infinite line or ray.

void SetSecondPoint (HPS.GlyphPoint in_point)

Sets the second point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Param in_point

The second point for the vector defining the infinite line or ray.

bool ShowFirstPoint (out HPS.GlyphPoint out_point)

Shows the first point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Param out_point

The first point for the vector defining the infinite line or ray.

Return

true if a first point was set, false otherwise.

bool ShowInfiniteType (out HPS.InfiniteLine.Type out_type)

Shows the type of this InfiniteLineGlyphElement.

Param out_type

The type of this InfiniteLineGlyphElement.

Return

true if a type was set, false otherwise.

bool ShowSecondPoint (out HPS.GlyphPoint out_point)

Shows the second point for the vector defining the infinite line or ray for this InfiniteLineGlyphElement.

Param out_point

The second point for the vector defining the infinite line or ray.

Return

true if a second point was set, false otherwise.

class InfiniteLineKey : public HPS.GeometryKey

The InfiniteLineKey class is a smart pointer to a database object. It is a handle to an infinite line or ray inserted via SegmentKey.InsertInfiniteLine.

Public Functions

void Consume (HPS.InfiniteLineKit in_kit)

Completely replaces all settings on this InfiniteLineKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this InfiniteLineKey.

InfiniteLineKey ()

The default constructor creates an uninitialized InfiniteLineKey object. The Type() function will return Type.None.

InfiniteLineKey (HPS.InfiniteLineKey in_that)

The copy constructor creates an InfiniteLineKey object that shares the underlying smart-pointer of the source InfiniteLineKey.

Param in_that

The source InfiniteLineKey to copy.

InfiniteLineKey (HPS.Key in_that)

This constructor creates an InfiniteLineKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an InfiniteLine key. Otherwise the copy will fail and the resulting InfiniteLineKey will be invalid.

Param in_that

The source Key to copy.

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

Replace those settings on this InfiniteLineKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this InfiniteLineKey.

HPS.InfiniteLineKey SetFirst (HPS.Point in_first)

Sets the first point for this InfiniteLineKey.

Param in_first

The first point for this InfiniteLineKey. If the type is InfiniteLine.Type.Ray, this will be the point at which the ray starts.

Return

A reference to this InfiniteLineKey.

HPS.InfiniteLineKey SetSecond (HPS.Point in_second)

Sets the second point for this InfiniteLineKey.

Param in_second

The second point for this InfiniteLineKey. If the type is InfiniteLine.Type.Ray, this will be the point through which the ray passes.

Return

A reference to this InfiniteLineKey.

HPS.InfiniteLineKey SetType (HPS.InfiniteLine.Type in_type)

Sets the type of this InfiniteLineKey.

Param in_type

The type of this InfiniteLineKey.

Return

A reference to this InfiniteLineKey.

void Show (out HPS.InfiniteLineKit out_kit)

Copy the contents of this InfiniteLineKey into the specified kit.

Param out_kit

The kit to populate with the contents of this InfiniteLineKey.

bool ShowFirst (out HPS.Point out_first)

Shows the first point for this InfiniteLineKey.

Param out_first

The first point for this InfiniteLineKey.

Return

true if a first point was set, false otherwise.

bool ShowSecond (out HPS.Point out_second)

Shows the second point for this InfiniteLineKey.

Param out_second

The second point for this InfiniteLineKey.

Return

true if a second point was set, false otherwise.

bool ShowType (out HPS.InfiniteLine.Type out_type)

Shows the type of this InfiniteLineKey.

Param out_type

The type of this InfiniteLineKey.

Return

true if a type was set, false otherwise.

class InfiniteLineKit : public HPS.Kit

The InfiniteLineKit class is a user space object. It is a kit analog to an InfiniteLineKey.

Public Functions

void Consume (HPS.InfiniteLineKit in_kit)

Copies the source InfiniteLineKit into this InfiniteLineKit and resets the source kit.

Param in_kit

The source InfiniteLineKit to consume.

override bool Empty ()

Indicates whether this InfiniteLineKit has any values set on it.

Return

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

bool Equals (HPS.InfiniteLineKit in_kit)

Check if the source InfiniteLineKit is equivalent to this InfiniteLineKit.

Param in_kit

The source InfiniteLineKit to compare to this InfiniteLineKit.

Return

true if the objects are equivalent, false otherwise.

InfiniteLineKit ()

The default constructor creates an empty InfiniteLineKit object.

InfiniteLineKit (HPS.InfiniteLineKit in_kit)

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

Param in_kit

The source InfiniteLineKit to copy.

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

Copies the source InfiniteLineKit into this InfiniteLineKit.

Param in_kit

The source InfiniteLineKit to copy.

HPS.InfiniteLineKit SetFirst (HPS.Point in_first)

Sets the first point for this InfiniteLineKit.

Param in_first

The first point for this InfiniteLineKit. If the type is InfiniteLine.Type.Ray, this will be the point at which the ray starts.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the InfiniteLineKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.InfiniteLineKit SetSecond (HPS.Point in_second)

Sets the second point for this InfiniteLineKit.

Param in_second

The second point for this InfiniteLineKit. If the type is InfiniteLine.Type.Ray, this will be the point through which the ray passes.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit SetType (HPS.InfiniteLine.Type in_type)

Sets the type of this InfiniteLineKit.

Param in_type

The type of this InfiniteLineKit.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.InfiniteLineKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.InfiniteLineKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.InfiniteLineKit out_kit)

Copies this InfiniteLineKit into the given InfiniteLineKit.

Param out_kit

The InfiniteLineKit to populate with the contents of this InfiniteLineKit.

bool ShowFirst (out HPS.Point out_first)

Shows the first point for this InfiniteLineKit.

Param out_first

The first point for this InfiniteLineKit.

Return

true if a first point was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowSecond (out HPS.Point out_second)

Shows the second point for this InfiniteLineKit.

Param out_second

The second point for this InfiniteLineKit.

Return

true if a second point was set, false otherwise.

bool ShowType (out HPS.InfiniteLine.Type out_type)

Shows the type of this InfiniteLineKit.

Param out_type

The type of this InfiniteLineKit.

Return

true if a type was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.InfiniteLineKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.InfiniteLineKit UnsetEverything ()

Removes all settings from the InfiniteLineKit.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit UnsetFirst ()

Removes the first point for this InfiniteLineKit.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.InfiniteLineKit UnsetSecond ()

Removes the second point for this InfiniteLineKit.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit UnsetType ()

Removes the type of this InfiniteLineKit.

Return

A reference to this InfiniteLineKit.

HPS.InfiniteLineKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.InfiniteLineKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class Info : public IDisposable

The Info class is a concept class for information, warning, and error codes.

Public Types

enum Code

Enumerates the types of information, warning, and error messages.

Values:

Unknown

Info type and source unknown.

Exchange

Info from Exchange.

Publish

Info from Publish.

Data

Problem with provided data.

Key

Problem with provided key.

Geometry

Problem with provided geometry.

Database

Problem with scene.

Driver

Problem with driver.

Internal

Problem with internal system.

Memory

Problem with memory.

System

Problem operating environment.

Unsupported

Use is unsupported.

DWG

Info from DWG.

Parasolid

Info from Parasolid.

class InformationEvent : public HPS.Event

The InformationEvent class is the event that will be generated if an asynchronous informational message occurs.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this InformationEvent.

Return

A copy of this InformationEvent.

bool Equals (HPS.InformationEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

InformationEvent ()

The default constructor creates a InformationEvent object with an empty message and code of Unknown.

InformationEvent (HPS.Event in_event)

This constructor converts an EventObject to a InformationEvent object.

Param in_event

The EventObject to be converted.

InformationEvent (string in_message)

This constructor creates a InformationEvent object with a specified information and code of Unknown.

Param in_message

A message describing the nature of the information.

InformationEvent (string in_message, HPS.Info.Code in_code)

This constructor creates a InformationEvent object with a specified information and code.

Param in_message

A message describing the nature of the information.

Param in_code

A code describing the nature of the information.

class InitPictureEvent : public HPS.DriverEvent
struct InnerPixelPoint

Public Functions

bool Equals (InnerPixelPoint p)

Compares an InnerPixelPoint object to this InnerPixelPoint.

Param p

The object to compare to this object.

Return

Returns true if the parameter is equivalent to this InnerPixelPoint object, false otherwise.

override bool Equals (object obj)

Compares this InnerPixelPoint object to another object.

Param obj

The object to compare to this object.

Return

Returns true if the parameter is equivalent, false otherwise.

bool Equals (Vector p)

Compares a Vector whose points (x, y, z) correspond to the points of this InnerPixelPoint’s (x, y, z).

Param p

The object to compare to this object.

Return

Returns true if the Vector’s components are equivalent to this InnerPixelPoint object, false otherwise.

InnerPixelPoint (float in_x)

Initializes a new CameraPoint with the x parameter and sets the y and z value to zero.

Param in_x

The x parameter.

InnerPixelPoint (float in_x, float in_y)

Initializes a new InnerPixelPoint with x and y parameters and sets the z value to zero.

Param in_x

The x parameter.

Param in_y

The y parameter.

InnerPixelPoint (float in_x, float in_y, float in_z)

Initializes a new Point from the in_x, in_y, and in_z paramters.

InnerPixelPoint (InnerPixelPoint ip)

Initializes a new InnerPixelPoint from the InnerPixelPoint parameter.

Param ip

The InnerPixelPoint to initialize from.

InnerPixelPoint (Point p)

Initializes a new InnerPixelPoint from the Point parameter.

Param p

The Point to initialize from.

InnerPixelPoint (WindowKey in_window, CameraPoint in_point)

Converts the point in_point to inner pixel space via in_window.

InnerPixelPoint (WindowKey in_window, InnerPixelPoint in_point)

Converts the point in_point to inner pixel space via in_window.

InnerPixelPoint (WindowKey in_window, InnerWindowPoint in_point)

Converts the point in_point to inner pixel space via in_window.

InnerPixelPoint (WindowKey in_window, ObjectPoint in_point)

Converts the point in_point to inner pixel space via in_window.

InnerPixelPoint (WindowKey in_window, PixelPoint in_point)

Converts the point in_point to inner pixel space via in_window.

InnerPixelPoint (WindowKey in_window, WindowPoint in_point)

Converts the point in_point to inner pixel space via in_window.

InnerPixelPoint (WindowKey in_window, WorldPoint in_point)

Converts the point in_point to inner pixel space via in_window.

Public Static Functions

implicit operator Point (InnerPixelPoint p)

Provides an implicit casting operator from InnerPixelPoint to Point.

bool operator!= (InnerPixelPoint p1, InnerPixelPoint p2)

Compares two InnerPixelPoint objects.

Param p1

The first object to compare.

Param p2

The second object to compare.

Return

Returns true if the two parameters are not equivalent, false otherwise.

bool operator== (InnerPixelPoint p1, InnerPixelPoint p2)

Compares two InnerPixelPoint objects.

Param p1

The first object to compare.

Param p2

The second object to compare.

Return

Returns true if the two parameters are equivalent, false otherwise.

class InnerPixelPointArray : public HPS::InternalHPSBlittableArray<HPS.InnerPixelPoint>
struct InnerWindowPoint

Public Functions

bool Equals (InnerWindowPoint p)

Compares a InnerWindowPoint object to this InnerWindowPoint.

Param p

The InnerWindowPoint to compare to this object.

Return

Returns true if the parameter is equivalent to this InnerWindowPoint object, false otherwise.

override bool Equals (object obj)

Compares this InnerWindowPoint object to another object.

Param obj

The object to compare to this object.

Return

Returns true if the parameter is equivalent, false otherwise.

bool Equals (Vector p)

Compares a Vector whose points (x, y, z) correspond to the points of this InnerWindowPoint’s (x, y, z).

Param p

The Vector to compare to this object.

Return

Returns true if the Vector’s components are equivalent to this InnerWindowPoint object, false otherwise.

InnerWindowPoint (float in_x)

Initializes a new InnerWindowPoint with the x parameter and sets the y and z value to zero.

Param in_x

The x parameter.

InnerWindowPoint (float in_x, float in_y)

Initializes a new InnerWindowPoint with x and y parameters and sets the z value to zero.

Param in_x

The x parameter.

Param in_y

The y parameter.

InnerWindowPoint (float in_x, float in_y, float in_z)

Initializes a new InnerWindowPoint object from the supplied (in_x, in_y, in_z) parameters.

InnerWindowPoint (InnerWindowPoint ip)

Initializes a new InnerWindowPoint from the InnerWindowPoint parameter.

Param ip

The InnerWindowPoint to initialize from.

InnerWindowPoint (Point p)

Initializes a new InnerWindowPoint from the Point parameter.

Param p

The Point to initialize from.

InnerWindowPoint (WindowKey in_window, CameraPoint in_point)

Converts the point in_point to inner window space via in_window.

InnerWindowPoint (WindowKey in_window, InnerPixelPoint in_point)

Converts the point in_point to inner window space via in_window.

InnerWindowPoint (WindowKey in_window, InnerWindowPoint in_point)

Converts the point in_point to inner window space via in_window.

InnerWindowPoint (WindowKey in_window, ObjectPoint in_point)

Converts the point in_point to inner window space via in_window.

InnerWindowPoint (WindowKey in_window, PixelPoint in_point)

Converts the point in_point to inner window space via in_window.

InnerWindowPoint (WindowKey in_window, WindowPoint in_point)

Converts the point in_point to inner window space via in_window.

InnerWindowPoint (WindowKey in_window, WorldPoint in_point)

Converts the point in_point to inner window space via in_window.

Public Static Functions

implicit operator Point (InnerWindowPoint p)

Provides an implicit casting operator from InnerWindowPoint to Point.

bool operator!= (InnerWindowPoint p1, InnerWindowPoint p2)

Compares two InnerWindowPoint objects.

Param p1

The first object to compare.

Param p2

The second object to compare.

Return

Returns true if the two parameters are equivalent, false otherwise.

bool operator== (InnerWindowPoint p1, InnerWindowPoint p2)

Compares two InnerWindowPoint objects.

Param p1

The first object to compare.

Param p2

The second object to compare.

Return

Returns true if the two parameters are equivalent, false otherwise.

class InnerWindowPointArray : public HPS::InternalHPSBlittableArray<HPS.InnerWindowPoint>
class InputEvent : public HPS.Event

The InputEvent class is the base class for input events such as MouseEvent, TouchEvent, and KeyboardEvent. It contains functionality which is common to all input event types, namely the state of modifier keys.

Subclassed by HPS.KeyboardEvent, HPS.MouseEvent, HPS.TouchEvent

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this InputEvent.

Return

A copy of this InputEvent.

bool Equals (HPS.InputEvent in_that)

Check if the source object is equivalent to this object.

Return

true if the objects are equivalent, false otherwise.

HPS.ModifierKeys GetModifierKeys ()

Queries which modifier keys are active

Return

A ModifierKeys object, which represents which modifier keys are active

InputEvent ()

This constructor creates a default InputEvent object.

InputEvent (HPS.ModifierKeys in_modifiers)

This constructor creates a new InputEvent with the specified modifier keys initialized.

Param in_modifiers

The modifier keys associated with the new Event.

class Int32Array : public HPS::InternalHPSBlittableArray<Int32>
class Int64Array : public HPS::InternalHPSBlittableArray<Int64>
class IntArray : public HPS::InternalHPSBlittableArray<int>
class InternalHPSArray<T> : public IDisposable

Subclassed by HPS.CameraKitArray, HPS.ConditionalExpressionArray, HPS.CubeMapDefinitionArray, HPS.GlyphDefinitionArray, HPS.GlyphElementArray, HPS.HighlightStateArray, HPS.ImageDefinitionArray, HPS.IncludeKeyArray, HPS.KeyArray, HPS.KeyPathArray, HPS.LinePatternDefinitionArray, HPS.LinePatternElementArray, HPS.LinePatternParallelKitArray, HPS.MaterialKitArray, HPS.MaterialPaletteDefinitionArray, HPS.MatrixKitArray, HPS.NamedStyleDefinitionArray, HPS.PortfolioKeyArray, HPS.ReferenceKeyArray, HPS.SegmentKeyArray, HPS.ShapeDefinitionArray, HPS.ShapeElementArray, HPS.ShapePointArray, HPS.StyleKeyArray, HPS.TextureDefinitionArray, HPS.TrimElementArray, HPS.TrimKitArray, HPS.WindowKeyArray

class InternalHPSBlittableArray<T> : public IDisposable

Subclassed by HPS.BoolArray, HPS.ByteArray, HPS.CameraPointArray, HPS.ClipOperationArray, HPS.ClipSpaceArray, HPS.DVectorArray, HPS.DrawingOverlayArray, HPS.FloatArray, HPS.GlyphPointArray, HPS.InnerPixelPointArray, HPS.InnerWindowPointArray, HPS.Int32Array, HPS.Int64Array, HPS.IntArray, HPS.IntPtrArray, HPS.IntRectangleArray, HPS.KeyboardCodeArray, HPS.LineCoordinateSpaceArray, HPS.LineSizeUnitsArray, HPS.ObjectPointArray, HPS.PixelPointArray, HPS.PlaneArray, HPS.PointArray, HPS.RGBAColorArray, HPS.RGBColorArray, HPS.ShellRelationArray, HPS.SizeTArray, HPS.TextMarginUnitsArray, HPS.TouchArray, HPS.UnsignedIntArray, HPS.VectorArray, HPS.WindowPointArray, HPS.WorldPointArray

class InternalString : public IDisposable
class IntPtrArray : public HPS::InternalHPSBlittableArray<IntPtr>
struct IntRectangle
class IntRectangleArray : public HPS::InternalHPSBlittableArray<HPS.IntRectangle>
class InvalidLicenseException : public HPS.Exception
class InvalidObjectException : public HPS.Exception
class InvalidOperationException : public HPS.Exception
class InvalidSpecificationException : public HPS.Exception
class IOException : public HPS.Exception

The IOException class is an exception that is thrown if there was a problem during file import or export.

class IONotifier : public HPS.Object

The IONotifier class is a smart-pointer that is associated with an asynchronous file import or export. It is used to interact with an ongoing file IO or get the results from a completed IO operation.

Subclassed by HPS.OBJ.ExportNotifier, HPS.OBJ.ImportNotifier, HPS.PointCloud.ImportNotifier, HPS.STL.ImportNotifier, HPS.Stream.ExportNotifier, HPS.Stream.ImportNotifier

Public Functions

void Assign (HPS.IONotifier in_that)

Associate this IONotifier with the same file IO operation as the source IONotifier.

Param in_that

The source IONotifier for the assignment.

HPS.IONotifier Cancel ()

Requests to cancel the asynchronous file IO if it is still in progress. The Cancel() function will return synchronously, however there may be some delay between when the cancel request is made and when the asynchronous file IO stops. Call Wait() to ensure that the asynchronous file IO operation has stopped.

Return

A reference to this IONotifier.

IONotifier ()

The default constructor creates an IONotifier object which is not associated with any file IO operation.

IONotifier (HPS.IONotifier in_that)

The copy constructor creates a new IONotifier object that is associated with the same file IO as the source IONotifier.

Param in_that

The source IONotifier to copy.

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.

HPS.IOResult Status ()

Query the status of the file IO operation for this notifier.

Return

The current state of the file import.

HPS.IOResult Status (out float out_percent_complete)

Query the status and completion percentage of the file IO for this notifier.

Param out_percent_complete

Float in the range [0,1] indicating the current percentage complete.

Return

The current state of the file import.

HPS.IONotifier Wait ()

Cause this thread to sleep until the asynchronous file IO operation associated with this notifier is complete.

Return

A reference to this IONotifier.

class Key : public HPS.Object

The Key class is the common base class of all Visualize keys. Keys are handles to database objects and are the primary way of interacting with them (you would never modify a database object directly). The underlying mechanism is a smart pointer (assignment operator works like regular pointers). Attempting to use a deleted or otherwise invalid key will result in an InvalidObjectException.

Subclassed by HPS.GeometryKey, HPS.IncludeKey, HPS.PortfolioKey, HPS.SegmentKey, HPS.StyleKey

Public Functions

void Assign (HPS.Key in_that)

Share the underlying smart-pointer of the Key source.

Param in_that

The Key source of the assignment.

HPS.Key CopyTo (HPS.SegmentKey in_destination)

Performs a deep copy of the database object referred to by this key into a segment pointed to by in_destination. If the copied key includes other keys or has child nodes, they will be recursively copied. Include links will also be copied, however, link targets will not be copied.

Return

The key of the new copy.

void Delete ()

Removes the database object referred to by this key.

bool Equals (HPS.Key in_that)

Determines whether the database objects pointed to by this key and in_that are the same. Empty keys (when key.Empty() returns true) are never equal to any key, even when the key is compared against itself (they act analogously to NaN comparisons in this case.)

ulong GetHash ()

Returns a hash code for the key.

Return

The size_t hash code.

bool HasOwner ()

return

Indicates whether this key has an owner or not.

Key ()

An uninitialized key refers to no database object and Type() will return Type.None.

Key (HPS.Control in_control)

Initializes a key associated to the Control in_control.

Key (HPS.Key in_that)

Shares a reference to a database object referred to by in_that.

void MoveTo (HPS.SegmentKey in_new_owner)

Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner.

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.

HPS.SegmentKey Owner ()

return

The segment containing this key.

HPS.SegmentKey Up ()

return

The segment containing this key.

class KeyArray : public HPS::InternalHPSArray<HPS.Key>
class KeyboardCodeArray : public HPS::InternalHPSBlittableArray<HPS.KeyboardCode>
class KeyboardEvent : public HPS.InputEvent

The KeyboardEvent class is the event generated for each key press and release.

Public Types

enum Action

Enumeration of various states keyboard codes can have for a KeyboardEvent.

Values:

None

Key is not currently pressed, nor was it just released.

KeyDown

Key was pressed.

KeyUp

Key was released.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this KeyboardEvent.

Return

A copy of this KeyboardEvent.

override bool Equals (HPS.InputEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

bool Equals (HPS.KeyboardEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

KeyboardEvent ()

The default constructor creates a KeyboardEvent object with no current action nor any keyboard codes.

KeyboardEvent (HPS.Event in_event)

This constructor converts an EventObject to a MouseEvent object.

Param in_event

The EventObject to be converted.

KeyboardEvent (HPS.KeyboardEvent.Action in_action)

This constructor creates a KeyboardEvent object for a given action without any keyboard codes.

Param in_action

Action of the keys for this KeyboardEvent.

KeyboardEvent (HPS.KeyboardEvent.Action in_action, HPS.KeyboardCode[] in_keyboardcodes)

This constructor creates a KeyboardEvent object for a given action with a list of keyboard codes.

Param in_action

Action of the keys for this KeyboardEvent.

Param in_keyboardcodes

Array of the keyboard codes for this KeyboardEvent.

KeyboardEvent (HPS.KeyboardEvent.Action in_action, HPS.KeyboardCode[] in_keyboardcodes, HPS.ModifierKeys in_modifiers)

This constructor creates a KeyboardEvent object for a given action with a list of keyboard codes.

Param in_action

Action of the keys for this KeyboardEvent.

Param in_keyboardcodes

Array of the keyboard codes for this KeyboardEvent.

Param in_modifiers

The modifier keys for this KeyboardEvent.

KeyboardEvent (HPS.KeyboardEvent.Action in_action, HPS.ModifierKeys in_modifiers)

This constructor creates a KeyboardEvent object for a given action without any keyboard codes.

Param in_action

Action of the keys for this KeyboardEvent.

Param in_modifiers

The modifier keys for this KeyboardEvent.

void SetKeyboardCodes (HPS.KeyboardCode[] in_keyboardcodes)

Sets the keyboard codes for this KeyboardEvent.

Param in_keyboardcodes

Array of the keyboard codes for this KeyboardEvent.

class KeyboardState : public HPS.Object

The KeyboardState class represents the state of a keyboard for a particular event.

Public Functions

void Assign (HPS.KeyboardState in_that)

Copies the source KeyboardState into this KeyboardState.

Param in_that

The source KeyboardState to copy.

bool Equals (HPS.KeyboardState in_that)

Check if the source KeyboardState is equivalent to this KeyboardState.

Param in_that

The source KeyboardState to compare to this KeyboardState.

Return

true if the objects are equivalent, false otherwise.

HPS.KeyboardEvent GetActiveEvent ()

Get the active event for this KeyboardState. This will throw an exception if there is no active action for this KeyboardState.

Return

The action for the active keyboard codes for this KeyboardState.

HPS.Key[] GetEventPath ()

Get the relevant list of keys up to the window which had focus when the keys represented by this KeyboardState were pressed or released. This will throw an exception if there is no event path for this KeyboardState.

Return

The relevant list of keys up to the window which had focus when the keys represented by this KeyboardState were pressed or released.

HPS.WindowKey GetEventSource ()

Get the window which had focus when the keys represented by this KeyboardState were pressed or released. This will throw an exception if there is no event source for this KeyboardState.

Return

The window which had focus when the keys represented by this KeyboardState were pressed or released.

ulong GetKeyboardCodeCount ()

Get the number of keys currently down in this KeyboardState.

Return

Number of active and inactive keyboard codes.

HPS.KeyboardCode[] GetKeyboardCodes ()

Get the list of keyboard codes for keys currently down in this KeyboardState.

Return

The list of active and inactive keyboard codes.

bool GetKeyState (HPS.KeyboardCode in_key_code)

Get the state of a specific keyboard code for this KeyboardState.

Param in_key_code

The keyboard code for which to query the action.

Return

true if the key is down, false otherwise.

HPS.ModifierKeys GetModifierKeys ()

Get an object representing the state of modifier keys for this KeyboardState.

Return

An object representing the state of modifier keys.

KeyboardState ()

The default constructor creates an empty KeyboardState object.

KeyboardState (HPS.KeyboardState in_that)

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

Param in_that

The source KeyboardState to copy.

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.Key[] in_path, HPS.KeyboardEvent in_event, HPS.KeyboardCode[] in_keyboard_codes)

Sets the properties of this KeyboardState.

Param in_path

The list of keys up to the window which had focus for this keyboard event.

Param in_event

The keyboard event.

Param in_keyboard_codes

The list of keyboard codes for keys currently down during this keyboard event.

void Set (HPS.Key[] in_path, HPS.KeyboardEvent in_event, HPS.KeyboardCode[] in_keyboard_codes, HPS.ModifierKeys in_modifiers)

Sets the properties of this KeyboardState.

Param in_path

The list of keys up to the window which had focus for this keyboard event.

Param in_event

The keyboard event.

Param in_keyboard_codes

The list of keyboard codes for keys currently down during this keyboard event.

Param in_modifiers

The state of modifier keys for this keyboard event.

void SetActiveEvent (HPS.KeyboardEvent in_event)

Sets the active event for this KeyboardState.

Param in_event

The action for this KeyboardState.

void SetEventPath (HPS.Key[] in_path)

Sets the relevant list of keys up to the window which had focus for this keyboard event.

Param in_path

The relevant list of keys up to the window which had focus when the keyboard event represented by this KeyboardState underwent the active action.

void SetKeyboardCodes (HPS.KeyboardCode[] in_keyboard_codes)

Sets the list of keyboard codes for keys currently down in this KeyboardState.

Param in_keyboard_codes

The list of keyboard codes for keys currently down during this keyboard event.

void SetModifierKeys (HPS.ModifierKeys in_modifiers)

Sets an object representing the state of modifier keys for this KeyboardState.

Param in_modifiers

An object representing the state of modifier keys.

class KeyHasher : public IDisposable

A std.hash compatible hasher for HPS.Key

class KeyPath : public HPS.Object

The KeyPath contains an array of keys, organized from leaf to root. It allows the user to perform a number of queries along that path including accumulating net attributes and converting coordinates.

Public Functions

HPS.KeyPath Append (HPS.Key in_key)

Appends the supplied Key into this object. Same as operator+= function.

Deprecated:

This function exists for compatibility. Use KeyPath.PushBack instead.

Param in_key

The Key to be appended to this.

Return

A reference to this object.

HPS.KeyPath Append (HPS.Key[] in_key_array)

Appends the supplied key into this object. Same as operator+= function.

Deprecated:

This function exists for compatibility. Use KeyPath.PushBack instead.

Param in_key_array

The KeyArray to be appended to this.

Return

A reference to this object.

HPS.KeyPath Append (HPS.KeyPath in_key_path)

Appends the supplied key into this object. Same as operator+= function.

Deprecated:

This function exists for compatibility. Use KeyPath.PushBack instead.

Param in_key_path

The KeyPath to be appended to this.

Return

A reference to this object.

HPS.Key At (ulong in_index)

Access a Key in this KeyPath object. An HPS.IndexOutOfRangeException exception is thrown if in_index is out of range.

Param in_index

The index of the Key to access, zero based.

Return

The Key at position in_index in this key path.

HPS.Key Back ()

Returns the last key of this key path. An HPS.IndexOutOfRangeException exception is thrown if the key path is empty.

Return

The last key of this key path.

bool ComputeExtent (HPS.Extent.ClipRegion in_clip, out HPS.Rectangle out_extent)

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Param in_clip

The setting which indicates whether clip regions should be ignored or included.

Param out_extent

The screen extent of the geometry under this key path.

Return

true if the operation succeeded, false otherwise.

bool ComputeExtent (HPS.VisibilityKit in_vis, HPS.Extent.ClipRegion in_clip, out HPS.Rectangle out_extent)

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Param in_vis

Explicit visibility settings to acknowledge instead of using the visibilities resolved by this key path.

Param in_clip

The setting which indicates whether clip regions should be ignored or included.

Param out_extent

The screen extent of the geometry under this key path.

Return

true if the operation succeeded, false otherwise.

bool ComputeExtent (HPS.VisibilityKit in_vis, out HPS.Rectangle out_extent)

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Param in_vis

Explicit visibility settings to acknowledge instead of using the visibilities resolved by this key path.

Param out_extent

The screen extent of the geometry under this key path.

Return

true if the operation succeeded, false otherwise.

bool ComputeExtent (out HPS.Rectangle out_extent)

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Param out_extent

The screen extent of the geometry under this key path.

Return

true if the operation succeeded, false otherwise.

bool ComputeTextExtent (string in_text, out float out_xfrac, out float out_yfrac)

Computes the extents of the specified text string based on the effective text attributes along this key path. If the effective text transform setting is Text.Transform.Transformable, the returned values will be in object space units. For any other effective text transform setting, the returned values will be a fraction of the segment window from 0.0 to 1.0 (or more) along this key path.

Param in_text

The text to measure along this keypath

Param out_xfrac

The width of the text extent

Param out_yfrac

The height of the text extent

Return

true if the operation succeeded, false otherwise.

bool ComputeTransform (HPS.Coordinate.Space in_space, HPS.Coordinate.Space in_output_space, out HPS.MatrixKit out_matrix)

Computes the matrix which transforms objects from the input space to the output space along this key path.

Param in_space

The starting or input coordinate space.

Param in_output_space

The final or output coordinate space.

Param out_matrix

The matrix which transforms objects from the input space to the output space.

Return

true if the operation succeeded, false otherwise.

bool ConvertCoordinate (HPS.Coordinate.Space in_space, HPS.Point in_point, HPS.Coordinate.Space in_output_space, out HPS.Point out_point)

Converts a point from one coordinate space to another using the transforms along this key path.

Param in_space

The coordinate space of the input point.

Param in_point

The input point to convert.

Param in_output_space

The coordinate space to convert the input point into.

Param out_point

The output point, after conversion.

Return

true if the operation succeeded, false otherwise.

bool ConvertCoordinate (HPS.Coordinate.Space in_space, HPS.Point[] in_points, HPS.Coordinate.Space in_output_space, out HPS.Point[] out_points)

Converts a point from one coordinate space to another using the transforms along this key path.

Param in_space

The coordinate space of the input point.

Param in_points

The input points to convert.

Param in_output_space

The coordinate space to convert the input point into.

Param out_points

The output points, after conversion.

Return

true if the operation succeeded, false otherwise.

override bool Empty ()

Returns whether the key path is empty.

Return

true if the key path is empty, false otherwise.

bool Equals (HPS.KeyPath in_that)

Check if the source KeyPath is equivalent to this object.

Param in_that

The source KeyPath to compare to this object.

Return

true if the objects are equivalent, false otherwise.

HPS.Key Front ()

Returns the first key of this key path. An HPS.IndexOutOfRangeException exception is thrown if the key path is empty.

Return

The first key of this key path.

ulong GatherCutGeometry (HPS.SegmentKey in_destination, HPS.CutGeometryGatheringOptionsKit in_options)

Collects capping geometry generated by cutting planes. Geometry is deposited in the segment you specify. Note: Capping geometry is generated during an update. Until an update is completed, no geometry will be present to gather.

Param in_destination

A segment that the capping geometry will be deposited into.

Param in_options

Options for the gathering operation.

Return

The number of individual caps created.

void Insert (ulong in_index, HPS.Key in_item)

Inserts in_item in the key path before the element at position in_index, increasing the size of the key path by one. An HPS.IndexOutOfRangeException exception is thrown if in_index is out of range.

Param in_index

The index where in_item will be inserted

Param in_item

The key to insert in this key path.

KeyPath ()

Creates an uninitialized key path that refers to no database objects.

KeyPath (HPS.Key[] in_path)

Creates a new KeyPath object based on the supplied path.

Param in_path

An array of keys arranged from leaf to root.

KeyPath (HPS.KeyPath in_that)

Copies in_that into this key path.

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.

HPS.Key PopBack ()

Returns the last key of this key path and returns it. An HPS.IndexOutOfRangeException exception is thrown if the key path is empty.

Return

The last key of this key path.

HPS.Key PopFront ()

Returns the first key of this key path and returns it. An HPS.IndexOutOfRangeException exception is thrown if the key path is empty.

Return

The first key of this key path.

HPS.KeyPath PushBack (HPS.Key in_key)

Adds in_key to the end of the key path.

Param in_key

The key to add to the end of the key path.

Return

A reference to this object.

HPS.KeyPath PushBack (HPS.Key[] in_key_array)

Appends the supplied key into this object. Same as operator+= function.

Param in_key_array

The KeyArray to be appended to this.

Return

A reference to this object.

HPS.KeyPath PushBack (HPS.KeyPath in_key_path)

Appends the keys contained in the supplied key path at the end of this key path

Param in_key_path

The KeyPath to be appended to this.

Return

A reference to this object.

HPS.KeyPath PushFront (HPS.Key in_key)

Adds in_key to the front of the key path.

Param in_key

The key to add to the front of the key path.

Return

A reference to this object.

void Remove (HPS.Key in_item)

Traverses the keys in this key path and removes the first one which matches in_item NOTE: A useful KeyPath should not contain duplicate keys.

Param in_item

The item to remove from the key path.

void Remove (ulong in_index)

Removes the the key at position in_index from this key path. An HPS.IndexOutOfRangeException exception is thrown if in_index is out of range.

Param in_index

The index of the key to remove, zero based.

HPS.KeyPath Reverse ()

Creates and returns a new KeyPath object, with the keys organized in the reverse order.

Return

A new KeyPath object, containing keys organized in the reverse order.

void Set (HPS.KeyPath in_that)

Copies the supplied path into this object.

Param in_that

The source of the copy.

HPS.KeyPath SetKeys (HPS.Key[] in_keys)

Copies an array of keys into this object.

Param in_keys

The source array, assumed to be arranged from leaf to root.

Return

A reference to this object.

bool ShowEffectiveGlyphDefinition (string in_name, out HPS.GlyphDefinition out_def)

Shows the effective glyph definition belonging to the input name along this key path.

Param in_name

UTF8-encoded name of the glyph to find along this key path.

Param out_def

The effective glyph definition, if any, with the specified name along this key path.

Return

true if the glyph definition exists along this path, false otherwise.

bool ShowEffectiveImageDefinition (string in_name, out HPS.ImageDefinition out_def)

Shows the effective image definition belonging to the input name along this key path.

Param in_name

UTF8-encoded name of the image to find along this key path.

Param out_def

The effective image definition, if any, with the specified name along this key path.

Return

true if the image definition exists along this path, false otherwise.

bool ShowEffectiveLinePatternDefinition (string in_name, out HPS.LinePatternDefinition out_def)

Shows the effective line pattern definition belonging to the input name along this key path.

Param in_name

UTF8-encoded name of the line pattern to find along this key path.

Param out_def

The effective material line pattern, if any, with the specified name along this key path.

Return

true if the line pattern definition exists along this path, false otherwise.

bool ShowEffectiveMaterialPaletteDefinition (string in_name, out HPS.MaterialPaletteDefinition out_def)

Shows the effective material palette definition belonging to the input name along this key path.

Param in_name

UTF8-encoded name of the material palette to find along this key path.

Param out_def

The effective material palette definition, if any, with the specified name along this key path.

Return

true if the material palette definition exists along this path, false otherwise.

bool ShowEffectiveTextureDefinition (string in_name, out HPS.TextureDefinition out_def)

Shows the effective texture definition belonging to the input name along this key path.

Param in_name

UTF8-encoded name of the texture to find along this key path.

Param out_def

The effective texture definition, if any, with the specified name along this key path.

Return

true if the texture definition exists along this path, false otherwise.

bool ShowKeys (out HPS.Key[] out_keys)

Shows the keys defining this key path.

Return

true if the setting is valid, false otherwise.

bool ShowNetAttributeLock (out HPS.AttributeLockKit out_kit)

Shows the net attribute lock settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetBounding (bool in_consider_highlights, out HPS.BoundingKit out_kit)

Shows the net bounding along this key path. This function also optionally includes the bounding for geometry affected by in-place highlighting. This includes Show, Hide, and Isolate operations which alter visibility. In order for all highlights to be accounted for, the KeyPath should be complete, extending from the leaf segment or geometry, all the way to the WindowKey or Canvas.

Param in_consider_highlights

If true, geometry with attributes set by in-place highlighting (including those attributes affecting visibility) will be included in the boundary calculation.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetBounding (out HPS.BoundingKit out_kit)

Shows the net bounding along this key path without taking into account attributes set through highlights.

Deprecated:

This function exists for compatibility and ShowNetBounding(bool, BoundingKit &) should be preferred. This function will be removed in HPS 2021.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetCamera (out HPS.CameraKit out_kit)

Shows the net camera attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetClipRegions (out HPS.Point[][][] out_loops_array, out HPS.Drawing.ClipSpace[] out_spaces, out HPS.Drawing.ClipOperation[] out_operations, out HPS.MatrixKit[] out_matrices)

Collects all clip regions on key path.

Param out_loops_array

An array of arrays of loops describing the clip region.

Param out_spaces

An array of the coordinate spaces in which loops are described.

Param out_operations

An array of the operations performed by the clip regions.

Param out_matrices

An array of the matrices used by the clip regions if they are in ClipSpace.Object else identity matrix.

Return

true if clip regions exist along this path, false otherwise.

bool ShowNetColorInterpolation (out HPS.ColorInterpolationKit out_kit)

Shows the net color interpolation attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetContourLine (out HPS.ContourLineKit out_kit)

Shows the net contour line attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetCulling (out HPS.CullingKit out_kit)

Shows the net culling attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetCurveAttribute (out HPS.CurveAttributeKit out_kit)

Shows the net curve attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetCuttingSectionAttribute (out HPS.CuttingSectionAttributeKit out_kit)

Shows the net cutting section attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetCylinderAttribute (out HPS.CylinderAttributeKit out_kit)

Shows the net cylinder attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetDrawingAttribute (out HPS.DrawingAttributeKit out_kit)

Shows the net drawing attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetEdgeAttribute (out HPS.EdgeAttributeKit out_kit)

Shows the net edge attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetHiddenLineAttribute (out HPS.HiddenLineAttributeKit out_kit)

Shows the net hidden line attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetLightingAttribute (out HPS.LightingAttributeKit out_kit)

Shows the net lighting attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetLineAttribute (out HPS.LineAttributeKit out_kit)

Shows the net line attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetMarkerAttribute (out HPS.MarkerAttributeKit out_kit)

Shows the net marker attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the net material mapping attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetMaterialPalette (out string out_name)

Shows the material palette name along this key path.

Return

true if a material palette is set along this path, false otherwise.

bool ShowNetModellingMatrix (out HPS.MatrixKit out_kit)

Shows the net modelling matrix attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetNURBSSurfaceAttribute (out HPS.NURBSSurfaceAttributeKit out_kit)

Shows the net NURBS surface attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetPBRMaterial (out HPS.PBRMaterialKit out_kit)

Shows the net pbr material attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetPerformance (out HPS.PerformanceKit out_kit)

Shows the net performance attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetSelectability (out HPS.SelectabilityKit out_kit)

Shows the net selectability attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetSphereAttribute (out HPS.SphereAttributeKit out_kit)

Shows the net sphere attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetSubwindow (out HPS.SubwindowKit out_kit)

Shows the net subwindow attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetTextAttribute (out HPS.TextAttributeKit out_kit)

Shows the net text attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetTextureMatrix (out HPS.MatrixKit out_kit)

Shows the net texture matrix attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetTransformMask (out HPS.TransformMaskKit out_kit)

Shows the net transform mask attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetTransparency (out HPS.TransparencyKit out_kit)

Shows the net transparency attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetVisibility (out HPS.VisibilityKit out_kit)

Shows the net visibility attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

bool ShowNetVisualEffects (out HPS.VisualEffectsKit out_kit)

Shows the net visual effects attribute settings along this key path.

Return

true if the setting is valid along this path, false otherwise.

ulong Size ()

Returns the number of Keys contained in this KeyPath object.

Return

the number of keys in this key path.

HPS.KeyPath UnsetKeys ()

Removes the keys defining this key path.

Return

A reference to this object.

class KeyPathArray : public HPS::InternalHPSArray<HPS.KeyPath>
class Kit : public HPS.Object

The Kit class is the base class for all Visualize kits.

Subclassed by HPS.ApplicationWindowOptionsKit, HPS.AttributeLockKit, HPS.BoundingKit, HPS.CameraKit, HPS.CircleKit, HPS.CircularArcKit, HPS.CircularWedgeKit, HPS.ColorInterpolationKit, HPS.ContourLineKit, HPS.CullingKit, HPS.CurveAttributeKit, HPS.CutGeometryGatheringOptionsKit, HPS.CuttingSectionAttributeKit, HPS.CuttingSectionKit, HPS.CylinderAttributeKit, HPS.CylinderKit, HPS.DebuggingKit, HPS.DistantLightKit, HPS.DrawingAttributeKit, HPS.EdgeAttributeKit, HPS.EllipseKit, HPS.EllipticalArcKit, HPS.GlyphKit, HPS.GridKit, HPS.Hardcopy.File.ExportOptionsKit, HPS.Hardcopy.GDI.ExportOptionsKit, HPS.HiddenLineAttributeKit, HPS.HighlightOptionsKit, HPS.HighlightSearchOptionsKit, HPS.Image.ExportOptionsKit, HPS.Image.ImportOptionsKit, HPS.ImageKit, HPS.InfiniteLineKit, HPS.LegacyShader.ImportOptionsKit, HPS.LegacyShaderKit, HPS.LightingAttributeKit, HPS.LineAttributeKit, HPS.LineKit, HPS.LinePatternKit, HPS.LinePatternOptionsKit, HPS.LinePatternParallelKit, HPS.MarkerAttributeKit, HPS.MarkerKit, HPS.MaterialKit, HPS.MaterialMappingKit, HPS.MeshKit, HPS.NURBSCurveKit, HPS.NURBSSurfaceAttributeKit, HPS.NURBSSurfaceKit, HPS.OBJ.ImportOptionsKit, HPS.OBJ.ImportResultsKit, HPS.OffScreenWindowOptionsKit, HPS.PBRMaterialKit, HPS.PerformanceKit, HPS.PointCloud.ImportOptionsKit, HPS.PointCloud.ImportResultsKit, HPS.PolygonKit, HPS.PostProcessEffectsKit, HPS.STL.ImportOptionsKit, HPS.STL.ImportResultsKit, HPS.SearchOptionsKit, HPS.SegmentOptimizationOptionsKit, HPS.SelectabilityKit, HPS.SelectionOptionsKit, HPS.ShapeKit, HPS.ShellKit, HPS.ShellOptimizationOptionsKit, HPS.ShellRelationOptionsKit, HPS.ShellRelationResultsKit, HPS.SphereAttributeKit, HPS.SphereKit, HPS.SpotlightKit, HPS.StandAloneWindowOptionsKit, HPS.Stream.ExportOptionsKit, HPS.Stream.ImportOptionsKit, HPS.Stream.ImportResultsKit, HPS.SubwindowKit, HPS.TextAttributeKit, HPS.TextKit, HPS.TextureOptionsKit, HPS.TransformMaskKit, HPS.TransparencyKit, HPS.TrimKit, HPS.UpdateOptionsKit, HPS.VisibilityKit, HPS.VisualEffectsKit, HPS.WindowInfoKit

Public Functions

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.

class LeaderLineClippingElement : public HPS.ShapeElement

The LeaderLineClippingElement class is a user space object. It is used to define clipping of leader lines around a text background If LeaderLineClippingElement does not have another ShapeElement set for the clip region, it will use the background shape. If LeaderLineClippingElement has another ShapeElement set for the clip region, it will use that instead

Public Functions

LeaderLineClippingElement ()

The default constructor creates an empty LeaderLineClippingElement object.

LeaderLineClippingElement (HPS.LeaderLineClippingElement in_that)

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

Param in_that

The source LeaderLineClippingElement to copy.

LeaderLineClippingElement (HPS.ShapeElement in_that)

This constructor creates a LeaderLineClippingElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of a line clipping shape element. Otherwise the copy will fail and the resulting LeaderLineClippingElement will be invalid.

Param in_that

The source ShapeElement to copy.

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.

HPS.LeaderLineClippingElement SetShape (HPS.CircleShapeElement in_shape)

Sets the explicit Circle clip shape for this LeaderLineClippingElement. if no explicit shape is set, the background shape will be used

Param in_shape

The shape to clip leader lines with.

HPS.LeaderLineClippingElement SetShape (HPS.CircularArcShapeElement in_shape)

Sets the explicit Circular Arc clip shape for this LeaderLineClippingElement. if no explicit shape is set, the background shape will be used

Param in_shape

The shape to clip leader lines with.

HPS.LeaderLineClippingElement SetShape (HPS.EllipseShapeElement in_shape)

Sets the explicit Ellipse clip shape for this LeaderLineClippingElement. if no explicit shape is set, the background shape will be used

Param in_shape

The shape to clip leader lines with.

HPS.LeaderLineClippingElement SetShape (HPS.EllipticalArcShapeElement in_shape)

Sets the explicit Elliptical Arcclip shape for this LeaderLineClippingElement. if no explicit shape is set, the background shape will be used

Param in_shape

The shape to clip leader lines with.

HPS.LeaderLineClippingElement SetShape (HPS.PolygonShapeElement in_shape)

Sets the explicit Polygon clip shape for this LeaderLineClippingElement. if no explicit shape is set, the background shape will be used

Param in_shape

The shape to clip leader lines with.

bool ShowShape (out HPS.CircleShapeElement out_shape)

Shows the explicit Circle clip shape for this LeaderLineClippingElement. If the wrong type is provided, will return false

Param out_shape

The explicit clip shape.

Return

true if out_shape was set, false otherwise.

bool ShowShape (out HPS.CircularArcShapeElement out_shape)

Shows the explicit Ciruclar Arc clip shape for this LeaderLineClippingElement. If the wrong type is provided, will return false

Param out_shape

The explicit clip shape.

Return

true if out_shape was set, false otherwise.

bool ShowShape (out HPS.EllipseShapeElement out_shape)

Shows the explicit Ellipse clip shape for this LeaderLineClippingElement. If the wrong type is provided, will return false

Param out_shape

The explicit clip shape.

Return

true if out_shape was set, false otherwise.

bool ShowShape (out HPS.EllipticalArcShapeElement out_shape)

Shows the explicit EllipticalArc clip shape for this LeaderLineClippingElement. If the wrong type is provided, will return false

Param out_shape

The explicit clip shape.

Return

true if out_shape was set, false otherwise.

bool ShowShape (out HPS.PolygonShapeElement out_shape)

Shows the explicit Polygon clip shape for this LeaderLineClippingElement. If the wrong type is provided, will return false

Param out_shape

The explicit clip shape.

Return

true if out_shape was set, false otherwise.

HPS.LeaderLineClippingElement UnSetShape ()

Unsets the explicit clip shape and returns to the default functionality of clipping around the background shape

class License : public IDisposable
class Lighting : public IDisposable

This is the Lighting Class

class LightingAttributeControl : public HPS.Control

The HPS.LightingAttributeControl class is a smart pointer that is tied to a database object. This control is used to set the lighting interpolation algorithm.

This table lists default values for the various segment attributes accessible from HPS.LightingAttributeControl.

Public Functions

LightingAttributeControl (HPS.LightingAttributeControl in_that)

Initializes a control tied to the same object as in_that.

LightingAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.LightingAttributeControl SetInterpolationAlgorithm (HPS.Lighting.InterpolationAlgorithm in_interpolation)

Sets the interpolation algorithm that will be used for rendering lit faces.

Param in_interpolation

The algorithm that will be used for rendering lit faces.

Return

A reference to this object.

bool ShowInterpolationAlgorithm (out HPS.Lighting.InterpolationAlgorithm out_interpolation)

Shows the interpolation algorithm that will be used for rendering lit faces.

Param out_interpolation

The algorithm that will be used for rendering lit faces.

Return

true if the setting is valid, false otherwise.

HPS.LightingAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by LightingAttributeKit.GetDefault().

Return

A reference to this object.

HPS.LightingAttributeControl UnsetInterpolationAlgorithm ()

Removes the interpolation algorithm setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by LightingAttributeKit.GetDefault().

Return

A reference to this object.

class LightingAttributeKit : public HPS.Kit

The HPS.LightingAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.LightingAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.LightingAttributeKit in_kit)

Check if the source LightingAttributeKit is equivalent to this object.

Param in_kit

The source LightingAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

LightingAttributeKit ()

Initializes an empty kit.

LightingAttributeKit (HPS.LightingAttributeKit in_kit)

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

Param in_kit

The source object to copy.

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

Copies all settings from the source LightingAttributeKit into this object.

Param in_kit

The source LightingAttributeKit to copy.

HPS.LightingAttributeKit SetInterpolationAlgorithm (HPS.Lighting.InterpolationAlgorithm in_interpolation)

Sets the interpolation algorithm that will be used for rendering lit faces.

Param in_interpolation

The algorithm that will be used for rendering lit faces.

Return

A reference to this object.

void Show (out HPS.LightingAttributeKit out_kit)

Copies all settings from this LightingAttributeKit into the given LightingAttributeKit.

Param out_kit

The LightingAttributeKit to populate with the contents of this object.

bool ShowInterpolationAlgorithm (out HPS.Lighting.InterpolationAlgorithm out_interpolation)

Shows the interpolation algorithm that will be used for rendering lit faces.

Param out_interpolation

The algorithm that will be used for rendering lit faces.

Return

true if the setting is valid, false otherwise.

HPS.LightingAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.LightingAttributeKit UnsetInterpolationAlgorithm ()

Removes the interpolation algorithm setting.

Return

A reference to this object.

Public Static Functions

HPS.LightingAttributeKit GetDefault ()

Creates a LightingAttributeKit 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 LightingAttributeKit with the default settings.

class Line : public IDisposable

This is the Line Class

Public Types

enum CoordinateSpace

The CoordinateSpace enum is a list of all coordinate spaces used in Visualize. These correspond to HPS.Coordinate.Space

Values:

Object
World
NormalizedInnerWindow
NormalizedInnerPixel
enum SizeUnits

Line Size Units

Values:

ScaleFactor

A unitless linear scaling factor. A value of 2.0 will cause lines to be rendered twice as thick. A value of 1.0 will result in a visually pleasing device-dependent line weight. A value of 0 will result in the minimal weight line supported by the device.

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

class LineAttributeControl : public HPS.Control

The HPS.LineAttributeControl class is a smart pointer that is tied to a database object. This control allows you to manipulate the weight and pattern of lines and polylines.

This table lists default values for the various segment attributes accessible from HPS.LineAttributeControl.

Public Functions

LineAttributeControl (HPS.LineAttributeControl in_that)

Initializes a control tied to the same object as in_that.

LineAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.LineAttributeControl SetPattern (string in_pattern)

Specifies the pattern of lines.

See

Programming Guide: Line Patterns

Param in_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.LineAttributeControl SetPattern (string in_pattern, HPS.LinePatternOptionsKit in_options)

Specifies the pattern of lines.

See

Programming Guide: Line Patterns

Param in_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Param in_options

A set of options that modify how the named line pattern is applied.

Return

A reference to this object.

HPS.LineAttributeControl SetWeight (float in_weight)

Sets the weight of lines.

Param in_weight

The weight value for lines.

Return

A reference to this object.

HPS.LineAttributeControl SetWeight (float in_weight, HPS.Line.SizeUnits in_units)

Sets the weight of lines.

Param in_weight

The weight value for lines.

Param in_units

The units applied to in_weight.

Return

A reference to this object.

bool ShowPattern (out string out_pattern, out HPS.LinePatternOptionsKit out_options)

Shows the pattern used to draw lines.

Param out_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Param out_options

A set of options that modify how the named line pattern is applied.

Return

true if the setting is valid, false otherwise.

bool ShowWeight (out float out_weight, out HPS.Line.SizeUnits out_units)

Shows the weight of lines.

Param out_weight

The weight value for lines.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

HPS.LineAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by LineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.LineAttributeControl UnsetPattern ()

Removes the line pattern setting for lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by LineAttributeKit.GetDefault().

Return

A reference to this object.

HPS.LineAttributeControl UnsetWeight ()

Removes the weight setting for lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by LineAttributeKit.GetDefault().

Return

A reference to this object.

class LineAttributeKit : public HPS.Kit

The HPS.LineAttributeKit class is a user space object, useful for carrying a group of attribute settings related to lines. Calling HPS.LineAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.LineAttributeKit in_kit)

Check if the source LineAttributeKit is equivalent to this object.

Param in_kit

The source LineAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

LineAttributeKit ()

Initializes an empty kit.

LineAttributeKit (HPS.LineAttributeKit in_kit)

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

Param in_kit

The source object to copy.

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

Copies all settings from the source LineAttributeKit into this object.

Param in_kit

The source LineAttributeKit to copy.

HPS.LineAttributeKit SetPattern (string in_name)

Specifies the pattern of lines.

See

Programming Guide: Line Patterns

Param in_name

The name of a line pattern, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.LineAttributeKit SetPattern (string in_name, HPS.LinePatternOptionsKit in_options)

Specifies the pattern of lines.

See

Programming Guide: Line Patterns

Param in_name

The name of a line pattern, defined in a portfolio that is accessible.

Param in_options

A set of options that modify how the named line pattern is applied.

Return

A reference to this object.

HPS.LineAttributeKit SetWeight (float in_weight)

Sets the weight of lines.

Param in_weight

The weight value for lines.

Return

A reference to this object.

HPS.LineAttributeKit SetWeight (float in_weight, HPS.Line.SizeUnits in_units)

Sets the weight of lines.

Param in_weight

The weight value for lines.

Param in_units

The units applied to in_weight.

Return

A reference to this object.

void Show (out HPS.LineAttributeKit out_kit)

Copies all settings from this LineAttributeKit into the given LineAttributeKit.

Param out_kit

The LineAttributeKit to populate with the contents of this object.

bool ShowPattern (out string out_pattern, out HPS.LinePatternOptionsKit out_options)

Shows the pattern used to draw lines.

Param out_pattern

The name of a line pattern, defined in a portfolio that is accessible.

Param out_options

A set of options that modify how the named line pattern is applied.

Return

true if the setting is valid, false otherwise.

bool ShowWeight (out float out_weight, out HPS.Line.SizeUnits out_units)

Shows the weight of lines.

Param out_weight

The weight value for lines.

Param out_units

The units applied to in_weight.

Return

true if the setting is valid, false otherwise.

HPS.LineAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.LineAttributeKit UnsetPattern ()

Removes the line pattern setting for lines.

Return

A reference to this object.

HPS.LineAttributeKit UnsetWeight ()

Removes the weight setting for lines.

Return

A reference to this object.

Public Static Functions

HPS.LineAttributeKit GetDefault ()

Creates a LineAttributeKit 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 LineAttributeKit with the default settings.

class LineCoordinateSpaceArray : public HPS::InternalHPSBlittableArray<HPS.Line.CoordinateSpace>
class LineGlyphElement : public HPS.GlyphElement

The LineGlyphElement class is a user space object.

Public Functions

LineGlyphElement ()

The default constructor creates an empty LineGlyphElement object.

LineGlyphElement (HPS.GlyphElement in_that)

This constructor creates a LineGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of a line glyph element. Otherwise the copy will fail and the resulting LineGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

LineGlyphElement (HPS.GlyphPoint[] in_points)

This constructor creates a LineGlyphElement with the specified point array.

Param in_points

The points for the line.

LineGlyphElement (HPS.LineGlyphElement in_that)

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

Param in_that

The source LineGlyphElement to copy.

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 SetPoints (HPS.GlyphPoint[] in_points)

Sets the points for this LineGlyphElement.

Param in_points

The points for the line.

bool ShowPoints (out HPS.GlyphPoint[] out_points)

Shows the points for this LineGlyphElement.

Param out_points

The points for the line.

Return

true if points were set, false otherwise.

class LineKey : public HPS.GeometryKey

The LineKey class is a smart pointer to a database object. It is a handle to a line inserted via SegmentKey.InsertLine.

Public Functions

void Consume (HPS.LineKit in_kit)

Completely replaces all settings on this LineKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this LineKey.

HPS.LineKey EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this LineKey.

Param in_offset

The offset into the point list for the line at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.

Param in_count

The number of points to delete from the point list for the line. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.

Return

A reference to this LineKey.

HPS.LineKey EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this LineKey.

Param in_offset

The offset into the point list for the line at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this LineKey.

HPS.LineKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this LineKey.

Param in_offset

The offset into the point list for the line at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.

Param in_points

The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.

Return

A reference to this LineKey.

ulong GetPointCount ()

Retrieves the number of points in this line.

Return

The number of points in this line.

LineKey ()

The default constructor creates an uninitialized LineKey object. The Type() function will return Type.None.

LineKey (HPS.Key in_that)

This constructor creates a LineKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Line key. Otherwise the copy will fail and the resulting LineKey will be invalid.

LineKey (HPS.LineKey in_that)

The copy constructor creates a LineKey object that shares the underlying smart-pointer of the source LineKey.

Param in_that

The source LineKey to copy.

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

Copies the source LineKit into this LineKit.

Param in_kit

The source LineKit to copy.

HPS.LineKey SetPointCoordinateSpace (HPS.Line.CoordinateSpace[] in_spaces)

Sets the coordinate space to use for each point of this line. The default is Line.CoordinateSpace.Object.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKey.

HPS.LineKey SetPointCoordinateSpace (ulong[] in_indices, HPS.Line.CoordinateSpace[] in_spaces)

Sets the coordinate space to use for each point of this line. The default is Line.CoordinateSpace.Object.

Param in_indices

The list of point indices to unset.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKey.

HPS.LineKey SetPoints (HPS.Point[] in_points)

Sets the points for this LineKey.

Param in_points

The points for this LineKey.

Return

A reference to this LineKey.

HPS.LineKey SetPoints (HPS.Point[] in_points, HPS.Line.CoordinateSpace[] in_spaces)

Sets the points for this LineKey.

Param in_points

The points for this LineKey.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKey.

void Show (out HPS.LineKit out_kit)

Copies this LineKit into the given LineKit.

Param out_kit

The LineKit to populate with the contents of this LineKit.

bool ShowPointCoordinateSpace (out HPS.Line.CoordinateSpace[] out_spaces)

Shows the coordinate space that is being used for the points at the specified indices.

Param out_spaces

The coordinate spaces for each all points on this line.

Return

true if line coordinates could be retrieved for this line false otherwise.

bool ShowPointCoordinateSpace (ulong[] in_indices, out HPS.Line.CoordinateSpace[] out_spaces)

Shows the coordinate space that is being used for the points at the specified indices.

Param in_indices

The list of point indices to show.

Param out_spaces

The coordinate spaces for each index specified.

Return

true if line coordinates could be retrieved for this line false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the points for this LineKey.

Param out_points

The points for this LineKey.

Return

true if points were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points, out HPS.Line.CoordinateSpace[] out_coordinate_spaces)

Shows the points for this LineKey.

Param out_points

The points for this LineKey.

Param out_coordinate_spaces

The coordinate spaces for each point in this line.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this LineKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this LineKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this LineKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this LineKey.

Return

true if all requested points were set, false otherwise.

HPS.LineKey UnsetPointCoordinateSpace ()

Unsets the coordinate space for all points on this line back to Coordinate.Space.Object.

Return

A reference to this LineKey.

HPS.LineKey UnsetPointCoordinateSpace (ulong[] in_indices)

Unsets the coordinate space for specified points on this line back to Coordinate.Space.Object.

Param in_indices

The list of point indices to unset.

Return

A reference to this LineKey.

class LineKit : public HPS.Kit

The LineKit class is a user space object. It is a kit analog to a LineKey.

Public Functions

void Consume (HPS.LineKit in_kit)

Copies the source LineKit into this LineKit and resets the source kit.

Param in_kit

The source LineKit to consume.

HPS.LineKit EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this LineKit.

Param in_offset

The offset into the point list for the line at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.

Param in_count

The number of points to delete from the point list for the line. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.

Return

A reference to this LineKit.

HPS.LineKit EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this LineKit.

Param in_offset

The offset into the point list for the line at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this LineKit.

HPS.LineKit EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this LineKit.

Param in_offset

The offset into the point list for the line at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.

Param in_points

The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.

Return

A reference to this LineKit.

override bool Empty ()

Indicates whether this LineKit has any values set on it.

Return

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

bool Equals (HPS.LineKit in_kit)

Check if the source LineKit is equivalent to this LineKit.

Param in_kit

The source LineKit to compare to this LineKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPointCount ()

Retrieves the number of points in this line.

Return

The number of points in this line.

LineKit ()

The default constructor creates an empty LineKit object.

LineKit (HPS.LineKit in_kit)

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

Param in_kit

The source LineKit to copy.

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

Copies the source LineKit into this LineKit.

Param in_kit

The source LineKit to copy.

HPS.LineKit SetPointCoordinateSpace (HPS.Line.CoordinateSpace[] in_spaces)

Sets the coordinate space to use for each point of this line. The default is Line.CoordinateSpace.Object.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKit.

HPS.LineKit SetPointCoordinateSpace (ulong[] in_indices, HPS.Line.CoordinateSpace[] in_spaces)

Sets the coordinate space to use for each point of this line. The default is Line.CoordinateSpace.Object.

Param in_indices

The list of point indices to unset.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKit.

HPS.LineKit SetPoints (HPS.Point[] in_points)

Sets the points for this LineKit.

Param in_points

The points for this LineKit.

Return

A reference to this LineKit.

HPS.LineKit SetPoints (HPS.Point[] in_points, HPS.Line.CoordinateSpace[] in_spaces)

Sets the points for this LineKit.

Param in_points

The points for this LineKit.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKit.

HPS.LineKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the LineKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.LineKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.LineKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.LineKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.LineKit out_kit)

Copies this LineKit into the given LineKit.

Param out_kit

The LineKit to populate with the contents of this LineKit.

bool ShowPointCoordinateSpace (out HPS.Line.CoordinateSpace[] out_spaces)

Shows the coordinate space that is being used for the points at the specified indices.

Param out_spaces

The coordinate spaces for each all points on this line.

Return

true if line coordinates could be retrieved for this line false otherwise.

bool ShowPointCoordinateSpace (ulong[] in_indices, out HPS.Line.CoordinateSpace[] out_spaces)

Shows the coordinate space that is being used for the points at the specified indices.

Param in_indices

The list of point indices to show.

Param out_spaces

The coordinate spaces for each index specified.

Return

true if line coordinates could be retrieved for this line false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the points for this LineKit.

Param out_points

The points for this LineKit.

Return

true if points were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points, out HPS.Line.CoordinateSpace[] out_coordinate_spaces)

Shows the points for this LineKit.

Param out_points

The points for this LineKit.

Param out_coordinate_spaces

The coordinate spaces for each point in this line.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this LineKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this LineKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this LineKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this LineKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.LineKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.LineKit UnsetEverything ()

Removes all settings from the LineKit.

Return

A reference to this LineKit.

HPS.LineKit UnsetPointCoordinateSpace ()

Unsets the coordinate space for all points on this line back to Coordinate.Space.Object.

Return

A reference to this LineKit.

HPS.LineKit UnsetPointCoordinateSpace (ulong[] in_indices)

Unsets the coordinate space for specified points on this line back to Coordinate.Space.Object.

Param in_indices

The list of point indices to unset.

Return

A reference to this LineKit.

HPS.LineKit UnsetPoints ()

Removes the points for this LineKit.

Return

A reference to this LineKit.

HPS.LineKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.LineKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.LineKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class LinePattern : public IDisposable

The LinePattern class is a concept class for line-pattern-related enum classes.

Public Types

enum Cap

Enumerates the predefined cap types that can be used at the ends of line segments within a line pattern.

Values:

Butt
Square
Round
Mitre
enum Default

Enumerates the predefined line patterns in Visualize. These can be accessed via the LinePatternKit.GetDefault function and their appearance can be seen here. Hardware acceleration for line patterns is available when the following conditions are met:You are using the DirectX11 or OpenGL2 driver You are using Visualize 2015 or later Segment-level display lists are active The line weight is 1 The following line patterns can be hardware accelerated: Dashed, Dotted, DashDot, Dash2Dot, Dash3Dot, LongDash, FineDot. The pattern does not continue along adjacent edges. The pattern is restarted for each edge.

Values:

Solid

A solid unbroked line pattern.

DashDot

A repeating pattern of 18 solid pixels, 5 blank pixels, 4 solid pixels, and 5 blank pixels.

Dashed

A repeating pattern of 10 solid pixels and 6 blank pixels.

Dotted

A repeating pattern of 5 solid pixels and 3 blank pixels.

Dash2Dot

A repeating pattern of 15 solid pixels, 4 blank pixels, 3 solid pixels, 3 blank pixels, 3 solid pixels, and 4 blank pixels.

Dash3Dot

A repeating pattern of 15 solid pixels, 2 blank pixels, 3 solid pixels, 2 blank pixels, 3 solid pixels, 2 blank pixels, 3 solid pixels, and 2 blank pixels.

LongDash

A repeating pattern of 26 solid pixels and 6 blank pixels.

LongDashShortDash

A repeating pattern of 100 solid pixels, 10 blank pixels, 20 solid pixels, and 10 blank pixels.

LongDash2ShortDash

A repeating pattern of 86 solid pixels, 8 blank pixels, 15 solid pixels, 8 blank pixels, 15 solid pixels, and 8 blank pixels.

FineDot

A repeating pattern of 1 solid pixel and 3 blank pixels.

enum InsetBehavior

Enumerates how glyphs interact with other line pattern elements within a line pattern.

Values:

Overlap

Glyphs will overlap with surrounding line pattern elements. Line pattern elements adjacent to glyphs will not be trimmed.

Trim

Glyphs will overlap with surrounding line pattern elements. Line pattern elements adjacent to glyphs will be trimmed.

Inline

Glyphs will not overlap with surrounding line pattern elements, and adjacent line pattern elements will not be trimmed.

enum Join

Enumerates the types of join to use for a line pattern. Joins will always be mitred at the half angle for the smaller angle defined by two line segments. This enumeration defines what the join will look like for the larger angle defined by two line segments.

Values:

Mitre

The join for the larger angle will be mitred, i.e., the segments will meet at a point at the half angle of the larger angle.

Round

The join for the larger angle will be rounded, i.e., there will be a circle that subtends the larger angle.

Bevel

The join for the larger angle will be beveled, i.e., there will be a line that subtends the larger angle.

enum Justification

Enumerates the justfication modes for a line pattern. These are used to attempt to make the line pattern appear evenly spaced between end points of a line.

Values:

Center
Stretch
enum Modifier

Enumerates the types of joins, start caps, and end caps that can be set when a line pattern attribute is set.

Values:

GlyphName

A glyph was set for the cap or join. The glyph name is valid.

Enumerated

A predefined (enumerated) cap or join was set. The enumeration type is valid.

enum SizeUnits

Enumerates the units used when specifying length, weight and offsets for line patterns.

Values:

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

ScaleFactor

Fraction of the default line width. A value of 1 corresponds to 0.1 percent of the screen size.

class LinePatternDefinition : public HPS.Definition

The LinePatternDefinition class is a smart pointer to a database object. It is a handle to a line pattern defined within a portfolio.

Public Functions

LinePatternDefinition ()

The default constructor creates an uninitialized LinePatternDefinition object. The Type() function will return Type.None.

LinePatternDefinition (HPS.Definition in_that)

This constructor creates a LinePatternDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a line pattern definition. Otherwise the copy will fail and the resulting LinePatternDefinition will be invalid.

Param in_that

The source Definition to copy.

LinePatternDefinition (HPS.LinePatternDefinition in_that)

The copy constructor creates a LinePatternDefinition object that shares the underlying smart-pointer of the source LinePatternDefinition.

Param in_that

The source LinePatternDefinition to copy.

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

Redefine the line pattern for this LinePatternDefinition.

Param in_kit

The new line pattern for this LinePatternDefinition.

void Show (out HPS.LinePatternKit out_kit)

Shows the line pattern for this LinePatternDefinition.

Param out_kit

The line pattern for this LinePatternDefinition.

class LinePatternDefinitionArray : public HPS::InternalHPSArray<HPS.LinePatternDefinition>
class LinePatternElement : public HPS.Object

The LinePatternElement class is a user space object. It is the base class for other line pattern element types. Line pattern elements are used to define a pattern that can be assigned lines or edges.

Subclassed by HPS.BlankLinePatternElement, HPS.GlyphLinePatternElement, HPS.SolidLinePatternElement

Public Functions

bool Equals (HPS.LinePatternElement in_that)

Check if the source LinePatternElement is equivalent to this LinePatternElement.

Param in_that

The source LinePatternElement to compare to this LinePatternElement.

Return

true if the objects are equivalent, false otherwise.

LinePatternElement ()

The default constructor creates an empty LinePatternElement object.

LinePatternElement (HPS.LinePatternElement in_that)

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

Param in_that

The source LinePatternElement to copy.

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

Copies the source LinePatternElement into this LinePatternElement.

Param in_that

The source LinePatternElement to copy.

void SetSize (float in_size, HPS.LinePattern.SizeUnits in_units)

Sets the size of this LinePatternElement.

Param in_size

The size of this LinePatternElement.

Param in_units

The units for the size of this LinePatternElement.

bool ShowSize (out float out_size, out HPS.LinePattern.SizeUnits out_units)

Shows the size of this LinePatternElement.

Param out_size

The size of this LinePatternElement.

Param out_units

The units for the size of this LinePatternElement.

Return

true if a size was set, false otherwise.

class LinePatternElementArray : public HPS::InternalHPSArray<HPS.LinePatternElement>
class LinePatternKit : public HPS.Kit

The LinePatternKit class is a user space object. It is used when defining a line pattern.

Public Functions

override bool Empty ()

Indicates whether this LinePatternKit has any values set on it.

Return

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

bool Equals (HPS.LinePatternKit in_kit)

Check if the source LinePatternKit is equivalent to this LinePatternKit.

Param in_kit

The source LinePatternKit to compare to this LinePatternKit.

Return

true if the objects are equivalent, false otherwise.

LinePatternKit ()

The default constructor creates an empty LinePatternKit object.

LinePatternKit (HPS.LinePatternKit in_kit)

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

Param in_kit

The source LinePatternKit to copy.

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

Copies the source LinePatternKit into this LinePatternKit.

Param in_kit

The source LinePatternKit to copy.

HPS.LinePatternKit SetJoin (HPS.LinePattern.Join in_type)

Sets the type of join to use for this LinePatternKit.

Param in_type

The type of join to use for this LinePatternKit.

Return

A reference to this LinePatternKit.

HPS.LinePatternKit SetParallel (HPS.LinePatternParallelKit in_parallel)

Sets the line pattern parallel for this LinePatternKit.

Param in_parallel

The line pattern parallel for this LinePatternKit.

Return

A reference to this LinePatternKit.

HPS.LinePatternKit SetParallels (HPS.LinePatternParallelKit[] in_parallels)

Sets the line pattern parallel array for this LinePatternKit.

Param in_parallels

The line pattern parallel array for this LinePatternKit.

Return

A reference to this LinePatternKit.

void Show (out HPS.LinePatternKit out_kit)

Copies this LinePatternKit into the given LinePatternKit.

Param out_kit

The LinePatternKit to populate with the contents of this LinePatternKit.

bool ShowJoin (out HPS.LinePattern.Join out_type)

Shows the type of join to use for this LinePatternKit.

Param out_type

The type of join to use for this LinePatternKit.

Return

true if a join was set, false otherwise.

bool ShowParallels (out HPS.LinePatternParallelKit[] out_parallels)

Shows the line pattern parallel array for this LinePatternKit.

Param out_parallels

The line pattern parallel array for this LinePatternKit.

Return

true if a line pattern parallel array was set, false otherwise.

HPS.LinePatternKit UnsetEverything ()

Removes all settings from this LinePatternKit.

Return

A reference to this LinePatternKit.

HPS.LinePatternKit UnsetJoin ()

Removes the type of join to use for this LinePatternKit.

Return

A reference to this LinePatternKit.

HPS.LinePatternKit UnsetParallels ()

Removes the line pattern parallel array for this LinePatternKit.

Return

A reference to this LinePatternKit.

Public Static Functions

HPS.LinePatternKit GetDefault (HPS.LinePattern.Default in_default_line_pattern)

Creates a LinePatternKit which contains the definition of the specified default line pattern.

Param in_default_line_pattern

The default line pattern for which to get the corresponding LinePatternKit.

Return

A LinePatternKit which contains the definition of the specified default line pattern.

class LinePatternOptionsKit : public HPS.Kit

The LinePatternOptionsKit class is a user space object. It is used for specifying (or overriding) some line pattern options when setting a line pattern on a segment.

Public Functions

override bool Empty ()

Indicates whether this LinePatternOptionsKit has any values set on it.

Return

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

bool Equals (HPS.LinePatternOptionsKit in_kit)

Check if the source LinePatternOptionsKit is equivalent to this LinePatternOptionsKit.

Param in_kit

The source LinePatternOptionsKit to compare to this LinePatternOptionsKit.

Return

true if the objects are equivalent, false otherwise.

LinePatternOptionsKit ()

The default constructor creates an empty LinePatternOptionsKit object.

LinePatternOptionsKit (HPS.LinePatternOptionsKit in_kit)

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

Param in_kit

The source LinePatternOptionsKit to copy.

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

Copies the source LinePatternOptionsKit into this LinePatternOptionsKit.

Param in_kit

The source LinePatternOptionsKit to copy.

HPS.LinePatternOptionsKit SetEndCap (HPS.LinePattern.Cap in_type)

Sets the cap to use as the end cap for the associated line pattern.

Param in_type

The type of cap to use as the end cap for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit SetEndCap (string in_glyph)

Sets the glyph to use as the end cap for the associated line pattern.

Param in_glyph

UTF8-encoded name of the glyph to use as the end cap for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit SetInnerCap (HPS.LinePattern.Cap in_type)

Sets the cap to use as the inner cap for the associated line pattern.

Param in_type

The type of cap to use as the inner cap for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit SetJoin (HPS.LinePattern.Join in_type)

Sets the join to use for the associated line pattern.

Param in_type

The type of join to use for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit SetJoin (string in_glyph)

Sets the glyph to use as the join for the associated line pattern.

Param in_glyph

UTF8-encoded name of the glyph to use as the join for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit SetStartCap (HPS.LinePattern.Cap in_type)

Sets the cap to use as the start cap for the associated line pattern.

Param in_type

The type of cap to use as the start cap for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit SetStartCap (string in_glyph)

Sets the glyph to use as the start cap for the associated line pattern.

Param in_glyph

UTF8-encoded name of the glyph to use as the start cap for the associated line pattern.

Return

A reference to this LinePatternOptionsKit.

void Show (out HPS.LinePatternOptionsKit out_kit)

Copies this LinePatternOptionsKit into the given LinePatternOptionsKit.

Param out_kit

The LinePatternOptionsKit to populate with the contents of this LinePatternOptionsKit.

bool ShowEndCap (out HPS.LinePattern.Modifier out_modifier, out string out_glyph, out HPS.LinePattern.Cap out_type)

Shows the end cap for this LinePatternOptionsKit.

Param out_modifier

Indicates which of the following arguments is valid.

Param out_glyph

UTF8-encoded name of the glyph to use as the end cap. This is only valid if out_modifier is LinePattern.Modifier.GlyphName.

Param out_type

The predefined type of cap to use as the end cap. This is only valid if out_modifier is LinePattern.Modifier.Enumerated.

Return

true if an end cap was set, false otherwise.

bool ShowInnerCap (out HPS.LinePattern.Cap out_type)

Shows the inner cap for this LinePatternOptionsKit.

Param out_type

The predefined type of cap to use as the inner cap.

Return

true if an inner cap was set, false otherwise.

bool ShowJoin (out HPS.LinePattern.Modifier out_modifier, out string out_glyph, out HPS.LinePattern.Join out_type)

Shows the join for this LinePatternOptionsKit.

Param out_modifier

Indicates which of the following arguments is valid.

Param out_glyph

UTF8-encoded name of the glyph to use as the join. This is only valid if out_modifier is LinePattern.Modifier.GlyphName.

Param out_type

The predefined type of join to use. This is only valid if out_modifier is LinePattern.Modifier.Enumerated.

Return

true if a join was set, false otherwise.

bool ShowStartCap (out HPS.LinePattern.Modifier out_modifier, out string out_glyph, out HPS.LinePattern.Cap out_type)

Shows the start cap for this LinePatternOptionsKit.

Param out_modifier

Indicates which of the following arguments is valid.

Param out_glyph

UTF8-encoded name of the glyph to use as the start cap. This is only valid if out_modifier is LinePattern.Modifier.GlyphName.

Param out_type

The predefined type of cap to use as the start cap. This is only valid if out_modifier is LinePattern.Modifier.Enumerated.

Return

true if a start cap was set, false otherwise.

HPS.LinePatternOptionsKit UnsetEndCap ()

Removes the end cap for this LinePatternOptionsKit. This will result in the end cap defined on the associated line pattern (if any) getting used when set with this LinePatternOptionsKit.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit UnsetEverything ()

Removes all settings from this LinePatternOptionsKit.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit UnsetInnerCap ()

Removes the inner cap for this LinePatternOptionsKit.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit UnsetJoin ()

Removes the join for this LinePatternOptionsKit. This will result in the join defined on the associated line pattern (if any) getting used when set with this LinePatternOptionsKit.

Return

A reference to this LinePatternOptionsKit.

HPS.LinePatternOptionsKit UnsetStartCap ()

Removes the start cap for this LinePatternOptionsKit. This will result in the start cap defined on the associated line pattern (if any) getting used when set with this LinePatternOptionsKit.

Return

A reference to this LinePatternOptionsKit.

class LinePatternParallelKit : public HPS.Kit

The LinePatternParallelKit class is a user space object. It is used to define a single parallel within a line pattern.

Public Functions

override bool Empty ()

Indicates whether this LinePatternParallelKit has any values set on it.

Return

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

bool Equals (HPS.LinePatternParallelKit in_kit)

Check if the source LinePatternParallelKit is equivalent to this LinePatternParallelKit.

Param in_kit

The source LinePatternParallelKit to compare to this LinePatternParallelKit.

Return

true if the objects are equivalent, false otherwise.

LinePatternParallelKit ()

The default constructor creates an empty LinePatternParallelKit object.

LinePatternParallelKit (HPS.LinePatternParallelKit in_kit)

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

Param in_kit

The source LinePatternParallelKit to copy.

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

Copies the source LinePatternParallelKit into this LinePatternParallelKit.

Param in_kit

The source LinePatternParallelKit to copy.

HPS.LinePatternParallelKit SetAbsoluteLength (bool in_state)

Sets a flag indicating whether to prevent scaling line pattern elements whose size is specified in pixels for this LinePatternParallelKit.

Param in_state

Whether to prevent scaling line pattern elements whose size is specified in pixels for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetAbsoluteWeight (bool in_state)

Sets a flag indicating whether to prevent scaling line pattern elements whose weight is specified in pixels for this LinePatternParallelKit.

Param in_state

Whether to prevent scaling line pattern elements whose weight is specified in pixels for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetBody (HPS.LinePatternElement in_element)

Sets the line pattern element body for this LinePatternParallelKit.

Param in_element

The line pattern element body for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetBody (HPS.LinePatternElement[] in_elements)

Sets the line pattern element array for this LinePatternParallelKit.

Param in_elements

The line pattern element array for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetContinuous (bool in_state)

Sets whether to reset the line pattern in each segment for this LinePatternParallelKit.

Param in_state

Whether to reset the line pattern in each segment for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetEndCap (HPS.GlyphLinePatternElement in_end)

Sets the glyph to draw at the end point for this LinePatternParallelKit.

Param in_end

The glyph to draw at the end point for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetJoin (HPS.GlyphLinePatternElement in_join)

Sets the glyph to draw at all joins for this LinePatternParallelKit.

Param in_join

The glyph to draw at all joins for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetJustification (HPS.LinePattern.Justification in_type)

Sets how the pattern will fit between the end points for this LinePatternParallelKit.

Param in_type

How the pattern will fit between the end points for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetOffset (float in_offset, HPS.LinePattern.SizeUnits in_units)

Sets the offset above or below the line connecting two points defining a segment for this LinePatternParallelKit.

Param in_offset

The offset above (positive) or below (negative) the line connecting two points defining a segment for this LinePatternParallelKit.

Param in_units

The units for the offset for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetOffset (float in_offset, HPS.LinePattern.SizeUnits in_units, bool in_fixed)

Sets the offset above or below the line connecting two points defining a segment for this LinePatternParallelKit.

Param in_offset

The offset above (positive) or below (negative) the line connecting two points defining a segment for this LinePatternParallelKit.

Param in_units

The units for the offset for this LinePatternParallelKit.

Param in_fixed

Whether to prevent scaling the offset based on the effective line weight in the segment where this pattern is used. Defaults to false.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetStartCap (HPS.GlyphLinePatternElement in_start)

Sets the glyph to draw at the start point for this LinePatternParallelKit.

Param in_start

The glyph to draw at the start point for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetWeight (float in_weight, HPS.LinePattern.SizeUnits in_units)

Sets the line weight for this LinePatternParallelKit.

Param in_weight

The line weight for this LinePatternParallelKit.

Param in_units

The units for the weight for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit SetWeight (float in_weight, HPS.LinePattern.SizeUnits in_units, bool in_fixed)

Sets the line weight for this LinePatternParallelKit.

Param in_weight

The line weight for this LinePatternParallelKit.

Param in_units

The units for the weight for this LinePatternParallelKit.

Param in_fixed

Whether to override the effective line weight in the segment where this pattern is used. Defaults to false.

Return

A reference to this LinePatternParallelKit.

void Show (out HPS.LinePatternParallelKit out_kit)

Copies this LinePatternParallelKit into the given LinePatternParallelKit.

Param out_kit

The LinePatternParallelKit to populate with the contents of this LinePatternParallelKit.

bool ShowAbsoluteLength (out bool out_state)

Shows whether to prevent scaling line pattern elements whose size is specified in pixels for this LinePatternParallelKit.

Param out_state

Whether to prevent scaling line pattern elements whose size is specified in pixels for this LinePatternParallelKit.

Return

true if an absolute length was set, false otherwise.

bool ShowAbsoluteWeight (out bool out_state)

Shows whether to prevent scaling line pattern elements whose weight is specified in pixels for this LinePatternParallelKit.

Param out_state

Whether to prevent scaling line pattern elements whose weight is specified in pixels for this LinePatternParallelKit.

Return

true if an absolute weight was set, false otherwise.

bool ShowBody (out HPS.LinePatternElement[] out_elements)

Shows the line pattern element body for this LinePatternParallelKit.

Param out_elements

The line pattern element body for this LinePatternParallelKit.

Return

true if a body was set, false otherwise.

bool ShowContinuous (out bool out_state)

Shows whether to reset the line pattern in each segment for this LinePatternParallelKit.

Param out_state

Whether to reset the line pattern in each segment for this LinePatternParallelKit.

Return

true if a continuous flag was set, false otherwise.

bool ShowEndCap (out HPS.GlyphLinePatternElement out_end)

Shows the glyph to draw at the end point for this LinePatternParallelKit.

Param out_end

The glyph to draw at the end point for this LinePatternParallelKit.

Return

true if an end cap was set, false otherwise.

bool ShowJoin (out HPS.GlyphLinePatternElement out_join)

Shows the glyph to draw at all joins for this LinePatternParallelKit.

Param out_join

The glyph to draw at all joins for this LinePatternParallelKit.

Return

true if a join was set, false otherwise.

bool ShowJustification (out HPS.LinePattern.Justification out_type)

Shows how the pattern will fit between the end points for this LinePatternParallelKit.

Param out_type

How the pattern will fit between the end points for this LinePatternParallelKit.

Return

true if a justficiation was set, false otherwise.

bool ShowOffset (out float out_offset, out HPS.LinePattern.SizeUnits out_units, out bool out_fixed)

Shows the offset above or below the line connecting two points defining a segment for this LinePatternParallelKit.

Param out_offset

The offset above (positive) or below (negative) the line connecting two points defining a segment for this LinePatternParallelKit.

Param out_units

The units for the offset for this LinePatternParallelKit.

Param out_fixed

Whether to prevent scaling the offset based on the effective line weight in the segment where this pattern is used.

Return

true if an offset is set, false otherwise.

bool ShowStartCap (out HPS.GlyphLinePatternElement out_start)

Shows the glyph to draw at the start point for this LinePatternParallelKit.

Param out_start

The glyph to draw at the start point for this LinePatternParallelKit.

Return

true if a start cap was set, false otherwise.

bool ShowWeight (out float out_weight, out HPS.LinePattern.SizeUnits out_units, out bool out_fixed)

Shows the line weight for this LinePatternParallelKit.

Param out_weight

The line weight for this LinePatternParallelKit.

Param out_units

The units for the weight for this LinePatternParallelKit.

Param out_fixed

Whether to override the effective line weight in the segment where this pattern is used.

Return

true if a weight was set, false otherwise.

HPS.LinePatternParallelKit UnsetAbsoluteLength ()

Removes whether to prevent scaling line pattern elements whose size is specified in pixels for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetAbsoluteWeight ()

Removes whether to prevent scaling line pattern elements whose weight is specified in pixels for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetBody ()

Removes the line pattern element body for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetContinuous ()

Removes whether to reset the line pattern in each segment for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetEndCap ()

Removes the glyph to draw at the end point for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetEverything ()

Removes all settings from this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetJoin ()

Removes the glyph to draw at all joins for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetJustification ()

Removes how the pattern will fit between the end points for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetOffset ()

Removes the offset above or below the line connecting two points defining a segment for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetStartCap ()

Removes the glyph to draw at the start point for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

HPS.LinePatternParallelKit UnsetWeight ()

Removes the line weight for this LinePatternParallelKit.

Return

A reference to this LinePatternParallelKit.

class LinePatternParallelKitArray : public HPS::InternalHPSArray<HPS.LinePatternParallelKit>
class LineShapeElement : public HPS.ShapeElement

The LineShapeElement class is a user space object. It is used to define line elements to make up shapes for text backgrounds.

Public Functions

LineShapeElement ()

The default constructor creates an empty LineShapeElement object.

LineShapeElement (HPS.LineShapeElement in_that)

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

Param in_that

The source LineShapeElement to copy.

LineShapeElement (HPS.ShapeElement in_that)

This constructor creates a LineShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of a line shape element. Otherwise the copy will fail and the resulting LineShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

LineShapeElement (HPS.ShapePoint in_start, HPS.ShapePoint in_end)

This constructor creates a two-point LineShapeElement with the specified points.

Param in_start

The start of the line.

Param in_end

The end of the line.

LineShapeElement (HPS.ShapePoint[] in_points)

This constructor creates a LineShapeElement with the specified points.

Param in_points

The points making up the line.

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.

HPS.LineShapeElement SetPoints (HPS.ShapePoint[] in_points)

Sets the points for this LineShapeElement.

Param in_points

The points making up the line.

bool ShowPoints (out HPS.ShapePoint[] out_points)

Shows the points for this LineShapeElement.

Param out_points

The points for this line

Return

true if points were set, false otherwise.

class LineSizeUnitsArray : public HPS::InternalHPSBlittableArray<HPS.Line.SizeUnits>
class Marker : public IDisposable

This is the Marker Class

Public Types

enum SizeUnits

Marker Size Units

Values:

ScaleFactor

A unitless linear scaling factor. A value of 2.0 will cause markers to be rendered twice as large. A value of 1.0 will result in a visually pleasing device-dependent marker size that is approximately 3% of the height of the outer window. A value of 0 will result in a single pixel marker for display-devices, or the smallest size supported by any other device.

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

class MarkerAttributeControl : public HPS.Control

The HPS.MarkerAttributeControl class is a smart pointer that is tied to a database object. This control allows you to manipulate the marker size and symbol at the segment level.

This table lists default values for the various segment attributes accessible from HPS.MarkerAttributeControl.

Public Functions

MarkerAttributeControl (HPS.MarkerAttributeControl in_that)

Initializes a control tied to the same object as in_that.

MarkerAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.MarkerAttributeControl SetDrawingPreference (HPS.Marker.DrawingPreference in_preference)

Sets the drawing method for markers. Fastest will draw at requested size, unless that would incur performance cost. Nicest will anyway.

Param in_preference

The preferred drawing style.

Return

A reference to this object.

HPS.MarkerAttributeControl SetGlyphRotation (float in_rotation)

Sets the glyph rotation option.

Param in_rotation

The rotation for glyphs.

Return

A reference to this object.

HPS.MarkerAttributeControl SetSize (float in_size)

Sets the size of markers.

Param in_size

The size for markers.

Return

A reference to this object.

HPS.MarkerAttributeControl SetSize (float in_size, HPS.Marker.SizeUnits in_units)

Sets the size of markers.

Param in_size

The size for markers.

Param in_units

The units of the size for markers.

Return

A reference to this object.

HPS.MarkerAttributeControl SetSymbol (string in_glyph_name)

Sets the glyph that should be used to draw markers.

Param in_glyph_name

A UTF8 encoded name of a glyph, defined in an accessible portfolio.

Return

A reference to this object.

bool ShowDrawingPreference (out HPS.Marker.DrawingPreference out_preference)

Shows the drawing method for markers.

Param out_preference

The preferred drawing style. return true if the setting is valid, false otherwise.

bool ShowGlyphRotation (out float out_rotation)

Shows the glyph rotation.

Param out_rotation

The rotation value. return true if the setting is valid, false otherwise.

bool ShowSize (out float out_size, out HPS.Marker.SizeUnits out_units)

Shows the size of markers.

Param out_size

The size for markers.

Param out_units

The units of the size for markers.

Return

true if the setting is valid, false otherwise.

bool ShowSymbol (out string out_glyph_name)

Shows the glyph that should be used to draw markers.

Param out_glyph_name

A UTF8 encoded name of a glyph, defined in an accessible portfolio.

Return

true if the setting is valid, false otherwise.

HPS.MarkerAttributeControl UnsetDrawingPreference ()

Removes the drawing preference setting

Return

A reference to this object.

HPS.MarkerAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by MarkerAttributeKit.GetDefault().

Return

A reference to this object.

HPS.MarkerAttributeControl UnsetGlyphRotation ()

Removes the glyph rotation setting

Return

A reference to this object.

HPS.MarkerAttributeControl UnsetSize ()

Removes the marker size setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MarkerAttributeKit.GetDefault().

Return

A reference to this object.

HPS.MarkerAttributeControl UnsetSymbol ()

Removes the marker symbol setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MarkerAttributeKit.GetDefault().

Return

A reference to this object.

class MarkerAttributeKit : public HPS.Kit

The HPS.MarkerAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.MarkerAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.MarkerAttributeKit in_kit)

Check if the source MarkerAttributeKit is equivalent to this object.

Param in_kit

The source MarkerAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

MarkerAttributeKit ()

Initializes an empty kit.

MarkerAttributeKit (HPS.MarkerAttributeKit in_kit)

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

Param in_kit

The source object to copy.

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

Copies all settings from the source MarkerAttributeKit into this object.

Param in_kit

The source MarkerAttributeKit to copy.

HPS.MarkerAttributeKit SetDrawingPreference (HPS.Marker.DrawingPreference in_preference)

Sets the drawing method for markers. Fastest will draw at requested size, unless that would incur performance cost. Nicest will anyway.

Param in_preference

The preferred drawing style.

Return

A reference to this object.

HPS.MarkerAttributeKit SetGlyphRotation (float in_rotation)

Sets the glyph rotation option.

Param in_rotation

The rotation for glyphs.

Return

A reference to this object.

HPS.MarkerAttributeKit SetSize (float in_size)

Sets the size of markers.

Param in_size

The size for markers.

Return

A reference to this object.

HPS.MarkerAttributeKit SetSize (float in_size, HPS.Marker.SizeUnits in_units)

Sets the size of markers.

Param in_size

The size for markers.

Param in_units

The units of the size for markers.

Return

A reference to this object.

HPS.MarkerAttributeKit SetSymbol (string in_glyph_name)

Sets the glyph used to represent markers.

Param in_glyph_name

A UTF8 encoded name of a glyph, defined in an accessible portfolio.

Return

A reference to this object.

void Show (out HPS.MarkerAttributeKit out_kit)

Copies all settings from this MarkerAttributeKit into the given MarkerAttributeKit.

Param out_kit

The MarkerAttributeKit to populate with the contents of this object.

bool ShowDrawingPreference (out HPS.Marker.DrawingPreference out_preference)

Shows the drawing method for markers.

Param out_preference

The preferred drawing style. return true if the setting is valid, false otherwise.

bool ShowGlyphRotation (out float out_rotation)

Shows the glyph rotation option.

Param out_rotation

The glyph rotation option in degrees. return true if the setting is valid, false otherwise.

bool ShowSize (out float out_size, out HPS.Marker.SizeUnits out_units)

Shows the size of markers.

Param out_size

The size for markers.

Param out_units

The units of the size for markers.

Return

true if the setting is valid, false otherwise.

bool ShowSymbol (out string out_glyph_name)

Shows the glyph that should be used to draw markers.

Param out_glyph_name

A UTF8 encoded name of a glyph, defined in an accessible portfolio.

Return

true if the setting is valid, false otherwise.

HPS.MarkerAttributeKit UnsetDrawingPreference ()

Removes the drawing preference setting

Return

A reference to this object.

HPS.MarkerAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.MarkerAttributeKit UnsetGlyphRotation ()

Removes the glyph rotation setting

Return

A reference to this object.

HPS.MarkerAttributeKit UnsetSize ()

Removes the marker size setting.

Return

A reference to this object.

HPS.MarkerAttributeKit UnsetSymbol ()

Removes the marker symbol setting.

Return

A reference to this object.

Public Static Functions

HPS.MarkerAttributeKit GetDefault ()

Creates a MarkerAttributeKit 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 MarkerAttributeKit with the default settings.

class MarkerKey : public HPS.GeometryKey

The MarkerKey class is a smart pointer to a database object. It is a handle to a marker inserted via SegmentKey.InsertMarker.

Public Functions

void Consume (HPS.MarkerKit in_kit)

Completely replaces all settings on this MarkerKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this MarkerKey.

MarkerKey ()

The default constructor creates an uninitialized MarkerKey object. The Type() function will return Type.None.

MarkerKey (HPS.Key in_that)

This constructor creates a MarkerKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Marker key. Otherwise the copy will fail and the resulting MarkerKey will be invalid.

Param in_that

The source Key to copy.

MarkerKey (HPS.MarkerKey in_that)

The copy constructor creates a MarkerKey object that shares the underlying smart-pointer of the source MarkerKey.

Param in_that

The source MarkerKey to copy.

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

Replace those settings on this MarkerKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this MarkerKey.

HPS.MarkerKey SetPoint (HPS.Point in_point)

Sets the point for this MarkerKey.

Param in_point

The point for this MarkerKey.

Return

A reference to this MarkerKey.

void Show (out HPS.MarkerKit out_kit)

Copy the contents of this MarkerKey into the specified kit.

Param out_kit

The kit to populate with the contents of this MarkerKey.

bool ShowPoint (out HPS.Point out_point)

Shows the point for this MarkerKey.

Param out_point

The point for this MarkerKey.

Return

true if a point was set, false otherwise.

class MarkerKit : public HPS.Kit

The MarkerKit class is a user space object. It is a kit analog to a MarkerKey.

Public Functions

void Consume (HPS.MarkerKit in_kit)

Copies the source MarkerKit into this MarkerKit and resets the source kit.

Param in_kit

The source LineKit to consume.

override bool Empty ()

Indicates whether this MarkerKit has any values set on it.

Return

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

bool Equals (HPS.MarkerKit in_kit)

Check if the source MarkerKit is equivalent to this MarkerKit.

Param in_kit

The source MarkerKit to compare to this MarkerKit.

Return

true if the objects are equivalent, false otherwise.

MarkerKit ()

The default constructor creates an empty MarkerKit object.

MarkerKit (HPS.MarkerKit in_kit)

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

Param in_kit

The source MarkerKit to copy.

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

Copies the source MarkerKit into this MarkerKit.

Param in_kit

The source MarkerKit to copy.

HPS.MarkerKit SetPoint (HPS.Point in_point)

Sets the point for this MarkerKit.

Param in_point

The point for this MarkerKit.

Return

A reference to this MarkerKit.

HPS.MarkerKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the MarkerKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.MarkerKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.MarkerKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.MarkerKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.MarkerKit out_kit)

Copies this MarkerKit into the given MarkerKit.

Param out_kit

The MarkerKit to populate with the contents of this MarkerKit.

bool ShowPoint (out HPS.Point out_point)

Shows the point for this MarkerKit.

Param out_point

The point for this MarkerKit.

Return

true if a point was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.MarkerKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.MarkerKit UnsetEverything ()

Removes all settings from the MarkerKit.

Return

A reference to this MarkerKit.

HPS.MarkerKit UnsetPoint ()

Removes the point for the MarkerKit.

Return

A reference to this MarkerKit.

HPS.MarkerKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.MarkerKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.MarkerKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class Material : public IDisposable

The Material class is a concept class for material-related enum classes.

Public Types

enum Channel

Material Channel

Values:

DiffuseColor

Material Channel.

DiffuseTexture

Material Channel.

Specular

Material Channel.

Emission

Material Channel.

Transmission

Material Channel.

Mirror

Material Channel.

Bump

Material Channel.

EnvironmentTexture

Material Channel.

EnvironmentCubeMap

Material Channel.

Gloss

Material Channel.

Alpha

Material Channel.

class Color : public IDisposable

The MaterialColor Class

Public Types

enum Channel

MaterialColor Channel

Values:

DiffuseColor

MaterialColor Channel.

Specular

MaterialColor Channel.

Emission

MaterialColor Channel.

Mirror

MaterialColor Channel.

class Texture : public IDisposable

The Material.Texture class is a concept class for texture-related enum classes.

Public Types

enum Channel

MaterialTexture Channel

Values:

DiffuseTexture

MaterialTexture Channel.

Specular

MaterialTexture Channel.

Emission

MaterialTexture Channel.

Transmission

MaterialTexture Channel.

Mirror

MaterialTexture Channel.

Bump

MaterialTexture Channel.

EnvironmentTexture

MaterialTexture Channel.

EnvironmentCubeMap

MaterialTexture Channel.

enum ChannelMapping

MaterialTexture ChannelMapping

Values:

Red

MaterialTexture ChannelMapping.

Green

MaterialTexture ChannelMapping.

Blue

MaterialTexture ChannelMapping.

Alpha

MaterialTexture ChannelMapping.

Zero

MaterialTexture ChannelMapping.

One

MaterialTexture ChannelMapping.

Luminance

MaterialTexture ChannelMapping.

enum Decimation

Enumeration of the various decimation filters for textures. These are used when the texture needs to minimized.

Values:

None
Anisotropic
Mipmap
enum Interpolation

Enumeration of the various interpolation filters for textures. These are used when the texture needs to be magnified.

Values:

None
Bilinear
enum Parameterization

Enumeration of the parameterization sources for textures.

Values:

Cylinder
PhysicalReflection
Object
NaturalUV
ReflectionVector
SurfaceNormal
Sphere
UV
World
enum Tiling

Enumeration of the tiling modes for textures.

Values:

Clamp
Repeat
Reflect
Trim
class MaterialKit : public HPS.Kit

The MaterialKit class is a user space object, useful for carrying a group of attribute settings. A MaterialKit can be associated with various geometry or subgeometery types using a material mapping kit or control.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.MaterialKit in_kit)

Check if the source MaterialKit is equivalent to this object.

Param in_kit

The source MaterialKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

MaterialKit ()

The default constructor creates an empty MaterialKit object.

MaterialKit (HPS.MaterialKit in_kit)

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

Param in_kit

The source MaterialKit to copy.

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

Copies all settings from the source MaterialKit into this object.

Param in_kit

The source MaterialKit to copy.

HPS.MaterialKit SetBump (string in_texture_name)

Applies a named texture to the bump channel, replacing any other texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetDiffuse (HPS.RGBAColor in_color)

Applies an RGBA color to the whole diffuse channel, replacing any diffuse textures or shaders.

Param in_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetDiffuse (HPS.RGBColor in_color)

Applies an RGB color to the whole diffuse channel, replacing any diffuse textures or shaders.

Param in_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseAlpha (float in_alpha)

Applies an alpha channel the diffuse color channel. Only one diffuse color may be set at a time but it can coexist with diffuse textures if they have transparency. If diffuse color has not been set, white will be set as a default value in the diffuse color channel with a transparent value of in_alpha.

Param in_alpha

The alpha to be applied.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseColor (HPS.RGBAColor in_color)

Applies an RGBA color to the diffuse color channel. Only one diffuse color may be set at a time but it can coexist with diffuse textures if they have transparency.

Param in_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseColor (HPS.RGBColor in_color)

Applies an RGB color to the diffuse color channel. Only one diffuse color may be set at a time but it can coexist with diffuse textures if they have transparency.

Param in_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseTexture (string in_texture_name)

Applies a named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible. There are two special values that can be passed in here. A null pointer removes the texture name from that layer, allowing the texture on that layer to be inherited from above in the tree. Passing an empty string, “”, removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible. There are two special values that can be passed in here. A null pointer removes the texture name from that layer, allowing the texture on that layer to be inherited from above in the tree. Passing an empty string, “”, removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, ulong in_layer)

Applies a modulated named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible. There are two special values that can be passed in here. A null pointer removes the texture name from that layer, allowing the texture on that layer to be inherited from above in the tree. Passing an empty string, “”, removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Param in_layer

The layer to apply the texture to. Higher numbered layers are applied on top of lower numbered ones.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseTexture (string in_texture_name, ulong in_layer)

Applies a named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible. There are two special values that can be passed in here. A null pointer removes the texture name from that layer, allowing the texture on that layer to be inherited from above in the tree. Passing an empty string, “”, removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank.

Param in_layer

The layer to apply the texture to. Higher numbered layers are applied on top of lower numbered ones.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseTexture (string[] in_texture_names)

Applies named textures to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers.

Param in_texture_names

The names of textures, one per layer. Uninitialized strings are ignored. An empty string, “”, removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank.

Return

A reference to this object.

HPS.MaterialKit SetDiffuseTexture (string[] in_texture_names, HPS.RGBAColor[] in_modulating_colors)

Applies named textures, possibly modulated, to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers.

Param in_texture_names

The names of textures, one per layer. Uninitialized strings are ignored. An empty string, “”, removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank.

Param in_modulating_colors

An array of modulating colors to be applied to the corresponding layer. If a color in the this array is uninitialized, the texture on that layer will be unmodulated.

Return

A reference to this object.

HPS.MaterialKit SetEmission (HPS.RGBAColor in_rgba_color)

Applies an RGBA color to the emission channel, replacing any other color or texture on that channel.

Param in_rgba_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetEmission (string in_texture_name)

Applies a named texture to the emission channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetEmission (string in_texture_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named texture to the emission channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Return

A reference to this object.

HPS.MaterialKit SetEnvironmentCubeMap (string in_cubemap_name)

Applies a named cube map to the environment channel, replacing any other texture or cube map on that channel.

Param in_cubemap_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetEnvironmentCubeMap (string in_cubemap_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named cube map to the environment channel, replacing any other texture or cube map on that channel.

Param in_cubemap_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

A color that will be applied as a filter to the cube map.

Return

A reference to this object.

HPS.MaterialKit SetEnvironmentTexture ()

Cancels any other texture or cube map on the environment channel.

Return

A reference to this object.

HPS.MaterialKit SetEnvironmentTexture (string in_texture_name)

Applies a named texture to the environment channel, replacing any other texture or cube map on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetEnvironmentTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named texture to the environment channel, replacing any other texture or cube map on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Return

A reference to this object.

HPS.MaterialKit SetGloss (float in_gloss)

Gloss is a setting that helps to determine the specular response of a material. It is a single floating point value that describes the “focus” of specular reflections off a surface. The gloss value changes the area of the “glare” off a surface. A high gloss value gives a small, focused glare; a low gloss value results in a less polished, more scattered reflection.

Param in_gloss

Gloss is always positive, and most surfaces have a gloss in the range of 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialKit SetMirror (HPS.RGBAColor in_rgba_color)

Applies an RGBA color to the mirror channel, replacing any other color or texture on that channel.

Param in_rgba_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetMirror (string in_texture_name)

Applies a named texture to the mirror channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetMirror (string in_texture_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named texture to the mirror channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Return

A reference to this object.

HPS.MaterialKit SetSpecular (HPS.RGBAColor in_rgba_color)

Applies an RGBA color to the specular channel, replacing any other color or texture on that channel.

Param in_rgba_color

The color to be applied.

Return

A reference to this object.

HPS.MaterialKit SetSpecular (string in_texture_name)

Applies a named texture to the specular channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetSpecular (string in_texture_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named texture to the specular channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Return

A reference to this object.

HPS.MaterialKit SetTransmission (string in_texture_name)

Applies a named texture to the transmission channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialKit SetTransmission (string in_texture_name, HPS.RGBAColor in_modulating_color)

Applies a modulated named texture to the transmission channel, replacing any other color or texture on that channel.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

A color that will be applied as a filter to the texture.

Return

A reference to this object.

void Show (out HPS.MaterialKit out_kit)

Copies all settings from this MaterialKit into the given MaterialKit.

Param out_kit

The MaterialKit to populate with the contents of this object.

bool ShowBump (out string out_texture_name)

Retrieves the texture applied to the bump channel.

Param out_texture_name

The name of a texture applied to this channel.

Return

true if a texture has been set on the bump channel, false otherwise.

bool ShowDiffuse ()

If the diffuse color will override textures and shaders.

Return

true if the diffuse color will override textures and shaders, false otherwise.

bool ShowDiffuseAlpha (out float out_alpha)

Retrieves alpha set on the diffuse alpha channel.

Param out_alpha

The color set on the diffuse alpha channel.

Return

true if the internal selection limit is valid, false otherwise.

bool ShowDiffuseColor (out HPS.RGBAColor out_rgba_color)

Retrieves RGBA color set on the diffuse color channel.

Param out_rgba_color

The RGBA color set on the diffuse color channel.

Return

true if the diffuse RGB color is valid, false otherwise.

bool ShowDiffuseColor (out HPS.RGBColor out_rgb_color)

Retrieves RGB color set on the diffuse RGB channel.

Param out_rgb_color

The RGB color set on the diffuse RGB channel.

Return

true if the diffuse RGB color is valid, false otherwise.

bool ShowDiffuseTexture (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the possibly modulated texture applied to layer 0 of the diffuse texture channel.

Param out_type

Indicates which of the following arguments is valid. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A modulating color applied as a filter to the named texture, only valid if out_type is ModulatedTexture.

Param out_texture_name

The name of a texture applied to this channel.

Return

true if a texture has been set on layer 0 of the diffuse texture channel, false otherwise.

bool ShowDiffuseTexture (ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the possibly modulated texture applied to the specified layer of the diffuse texture channel.

Param in_layer

The layer number to query for a texture.

Param out_type

Indicates which of the following arguments is valid. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A modulating color applied as a filter to the named texture, only valid if out_type is ModulatedTexture.

Param out_texture_name

The name of a texture applied to this channel.

Return

true if a texture has been set on the specified layer of the diffuse texture channel, false otherwise.

bool ShowEmission (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the color, texture, or modulated texture applied to the emission channel.

Param out_type

Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid.

Param out_texture_name

The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid.

Return

true if any color or texture has been set on the emission channel, false otherwise.

bool ShowEnvironment (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the color, texture, or modulated texture applied to the environment channel.

Param out_type

Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid.

Param out_texture_name

The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid.

Return

true if any color or texture has been set on the environment channel, false otherwise.

bool ShowGloss (out float out_gloss)

Retrieves the gloss of this material. Gloss is a single floating point value that describes the “focus” of specular reflections off a surface.

See

SetGloss().

Param out_gloss

The gloss value of this material. Gloss is always positive, and most surfaces have a gloss in the range of 1.0 to 30.0.

Return

true if gloss has been specified for this material, false otherwise.

bool ShowMirror (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the color, texture, or modulated texture applied to the mirror channel.

Param out_type

Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid.

Param out_texture_name

The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid.

Return

true if any color or texture has been set on the mirror channel, false otherwise.

bool ShowSpecular (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the color, texture, or modulated texture applied to the specular channel.

Param out_type

Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid.

Param out_texture_name

The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid.

Return

true if any color or texture has been set on the specular channel, false otherwise.

bool ShowTransmission (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out string out_texture_name)

Retrieves the color, texture, or modulated texture applied to the transmission channel.

Param out_type

Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid.

Param out_color

A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid.

Param out_texture_name

The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid.

Return

true if any color or texture has been set on the transmission channel, false otherwise.

HPS.MaterialKit UnsetBump ()

Removes all settings applied to the bump channel.

Return

A reference to this object.

HPS.MaterialKit UnsetDiffuseAlpha ()

Removes all settings applied to the diffuse alpha channel.

Return

A reference to this object.

HPS.MaterialKit UnsetDiffuseColor ()

Removes all settings applied to the diffuse color channel including alpha.

Return

A reference to this object.

HPS.MaterialKit UnsetDiffuseColorRGB ()

Removes all settings applied to the diffuse rgb channel.

Return

A reference to this object.

HPS.MaterialKit UnsetDiffuseTexture ()

Removes all settings applied to all layers of the diffuse texture channel.

Return

A reference to this object.

HPS.MaterialKit UnsetDiffuseTexture (ulong in_layer)

Removes all settings applied to the specified layer of the diffuse texture channel.

Param in_layer

The layer to remove the setting from.

Return

A reference to this object.

HPS.MaterialKit UnsetEmission ()

Removes all settings applied to the emission channel.

Return

A reference to this object.

HPS.MaterialKit UnsetEnvironment ()

Removes all settings applied to the environment channel.

Return

A reference to this object.

HPS.MaterialKit UnsetEverything ()

Removes all setting from this material.

Return

A reference to this object.

HPS.MaterialKit UnsetGloss ()

Removes the gloss setting applied to this material.

Return

A reference to this object.

HPS.MaterialKit UnsetMirror ()

Removes all settings applied to the mirror channel.

Return

A reference to this object.

HPS.MaterialKit UnsetSpecular ()

Removes all settings applied to the specular channel.

Return

A reference to this object.

HPS.MaterialKit UnsetTransmission ()

Removes all settings applied to the transmission channel.

Return

A reference to this object.

class MaterialKitArray : public HPS::InternalHPSArray<HPS.MaterialKit>
class MaterialMappingControl : public HPS.Control

The HPS.MaterialMappingControl class is a smart pointer that is tied to a database object. This object allows you to manipulate materials at the segment level. Examples of materials include texture, color, and gloss, among other things. Materials can be applied to geometry faces, edges, vertices, and text. Light color can also be set using this control. Materials can be applied at the segment, entity, or subentity level. In all MaterialMappingControl functions that take an RGBAColor, the alpha channel is ignored.

This table lists default values for the various segment attributes accessible from HPS.MaterialMappingControl.

Public Functions

MaterialMappingControl (HPS.MaterialMappingControl in_that)

Initializes a control tied to the same object as in_that.

MaterialMappingControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.MaterialMappingControl SetAmbientLightColor (HPS.RGBAColor in_rgba_color)

Sets a color on both ambient and ambient down using an RGBAColor, replacing any previous mapping to those geometry types.

Param in_rgba_color

An RGBA color that will be applied to those geometry types. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetAmbientLightDownColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetAmbientLightDownMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetAmbientLightMaterialByIndex (float in_material_index)

Sets a color on both ambient and ambient down by using in_material_index to index into the active material palette, replacing any previous mapping to those geometry types. Because these geometry types only support a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetAmbientLightUpColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetAmbientLightUpMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha on the back face, replacing any previous mapping to that channel on this geometry type. If diffuse channel doesn’t exist, white is used as the default value on diffuse channel with alpha value of in_alpha

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor on the back face, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor on the back face, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel on the back face, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel on the back face, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetBackFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel on the back face, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutEdgeColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutEdgeMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha, replacing any previous mapping to that channel on this geometry type. If diffuse channel doesn’t exist, white is used as the default value on diffuse channel with alpha value of in_alpha

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutGeometryColor (HPS.RGBAColor in_rgba_color)

Sets a color on both cut edges and cut faces using an RGBAColor, replacing any previous mapping to those geometry types.

Param in_rgba_color

An RGBA color that will be applied to those geometry types. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetCutGeometryMaterialByIndex (float in_color_index)

Sets a color on both cut edges and cut faces by using in_material_index to index into the active material palette, replacing any previous mapping to those geometry types.

Param in_color_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha, replacing any previous mapping to that channel on this geometry type. If diffuse channel doesn’t exist, white is used as the default value on diffuse channel with alpha value of in_alpha

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetEdgeTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha, replacing any previous mapping to that channel on this geometry type. This function sets the alpha for both the front and back faces. If diffuse channel doesn’t exist, white is used as the default value on diffuse channel with alpha value of in_alpha

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type. This function sets the color for both the front and back faces.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type. This function sets the color for both the front and back faces.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha, replacing any previous mapping to that channel on this geometry type. If diffuse channel doesn’t exist, white is used as the default value on diffuse channel with alpha value of in_alpha

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetFrontFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetGeometryColor (HPS.RGBAColor in_rgba_color)

Sets a color on all basic geometry types (faces, edges, lines, markers, vertices, text) using an RGBAColor, replacing any previous mapping to those geometry types.

Param in_rgba_color

An RGBA color that will be applied to all basic geometry types. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetLightColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetLightMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetLineAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha, replacing any previous mapping to that channel on this geometry type.

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetLineColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type. Note that this function implicitly sets an alpha value for lines if an RGBColor is passed in. The alpha value can be modified either by calling this function again, or by calling SetLineAlpha.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetLineMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetMarkerColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetMarkerMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetTextColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetTextMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexAlpha (float in_alpha)

Sets an alpha on the diffuse channel using in_alpha, replacing any previous mapping to that channel on this geometry type. If diffuse channel doesn’t exist, white is used as the default value on diffuse channel with alpha value of in_alpha

Param in_alpha

A color to apply to the diffuse channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this. Alpha channel is ignored.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingControl SetVertexTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingControl SetWindowColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

An RGBA color that will be applied to this geometry types. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetWindowContrastColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

An RGBA color that will be applied to this geometry types. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingControl SetWindowContrastMaterialByIndex (float in_material_index)

Sets a color by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingControl SetWindowMaterialByIndex (float in_material_index)

Sets a color by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

bool ShowAmbientLightDownColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowAmbientLightUpColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowBackFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowBackFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowBackFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutEdgeColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowFrontFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFrontFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFrontFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowLightColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowLineAlpha (out float out_alpha)

Shows the alpha setting for lines.

Param out_alpha

The alpha value for lines.

Return

true if the setting is valid, false otherwise.

bool ShowLineColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowMarkerColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowTextColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowVertexChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowVertexChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowVertexMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowWindowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowWindowContrastColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

HPS.MaterialMappingControl UnsetAmbientLightColor ()

Removes the material mapping for both ambient light up and ambient light down. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetAmbientLightDownColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetAmbientLightUpColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetBackFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetBackFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetBackFaceMaterial ()

Removes the material mapping for all channels of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetCutEdgeColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetCutFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetCutFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetCutFaceMaterial ()

Removes the material mapping for all channels of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetCutGeometryColor ()

Removes the material mapping for both cut edges and cut faces. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetEdgeChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetEdgeChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetEdgeMaterial ()

Removes the material mapping for all channels of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetFaceMaterial ()

Removes the material mapping for all channels of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetFrontFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetFrontFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetFrontFaceMaterial ()

Removes the material mapping for all channels of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetLightColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetLineAlpha ()

Removes the line alpha setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetLineColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault(). Note that this function also unsets alpha values specified for lines through SetLineAlpha on this control.

Return

A reference to this object.

HPS.MaterialMappingControl UnsetMarkerColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetTextColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetVertexChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetVertexChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetVertexMaterial ()

Removes the material mapping for all channels of this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetWindowColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

HPS.MaterialMappingControl UnsetWindowContrastColor ()

Removes the material mapping for this geometry type. If the control is attached to a WindowKey this function restores the default value of this setting as specified by MaterialMappingKit.GetDefault().

Return

A reference to this object.

class MaterialMappingKit : public HPS.Kit

The HPS.MaterialMappingKit class is a user space object, used for grouping attribute settings related to materials. A HPS.MaterialMappingKit is assigned to a portfolio, which in turn associates the materials to various geometry or subgeometry. Calling HPS.MaterialMappingKit.GetDefault() will return a material mapping kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.MaterialMappingKit in_kit)

Check if the source MaterialMappingKit is equivalent to this object.

Param in_kit

The source MaterialMappingKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

MaterialMappingKit ()

Initializes an empty kit.

MaterialMappingKit (HPS.MaterialMappingKit in_kit)

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

Param in_kit

The source object to copy.

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

Copies all settings from the source MaterialMappingKit into this object.

Param in_kit

The source MaterialMappingKit to copy.

HPS.MaterialMappingKit SetAmbientLightColor (HPS.RGBAColor in_rgba_color)

Sets a color on both ambient and ambient down using an RGBAColor, replacing any previous mapping to those geometry types.

Param in_rgba_color

An RGBA color that will be applied to those geometry types.

Return

A reference to this object.

HPS.MaterialMappingKit SetAmbientLightDownColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetAmbientLightDownMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetAmbientLightMaterialByIndex (float in_material_index)

Sets a color on both ambient and ambient down by using in_material_index to index into the active material palette, replacing any previous mapping to those geometry types. Because these geometry types only support a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetAmbientLightUpColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetAmbientLightUpMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceAlpha (float in_alpha)

Sets alpha on the diffuse channel on the back face, replacing any previous mapping to that channel on this geometry type. If diffuse channel isn’t set, white is defaulted as the diffuse color with in_alpha the alpha value.

Param in_alpha

An alpha to apply to the specified channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetBackFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutEdgeColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutEdgeMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceAlpha (float in_alpha)

Sets alpha on the diffuse channel on the cut face, replacing any previous mapping to that channel on this geometry type. If diffuse channel isn’t set, white is defaulted as the diffuse color with in_alpha the alpha value.

Param in_alpha

An alpha to apply to the specified channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutGeometryColor (HPS.RGBAColor in_rgba_color)

Sets a color on both cut edges and cut faces using an RGBAColor, replacing any previous mapping to those geometry types.

Param in_rgba_color

An RGBA color that will be applied to those geometry types.

Return

A reference to this object.

HPS.MaterialMappingKit SetCutGeometryMaterialByIndex (float in_color_index)

Sets a color on both cut edges and cut faces by using in_material_index to index into the active material palette, replacing any previous mapping to those geometry types.

Param in_color_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeAlpha (float in_alpha)

Sets alpha on the diffuse channel on the edge, replacing any previous mapping to that channel on this geometry type. If diffuse channel isn’t set, white is defaulted as the diffuse color with in_alpha as the alpha value.

Param in_alpha

An alpha to apply to the specified channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetEdgeTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceAlpha (float in_alpha)

Sets alpha on the diffuse channel on the face, replacing any previous mapping to that channel on this geometry type. If diffuse channel isn’t set, white is defaulted as the diffuse color with in_alpha as the alpha value.

Param in_alpha

An alpha to apply to the specified channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceAlpha (float in_alpha)

Sets alpha on the diffuse channel on the front face, replacing any previous mapping to that channel on this geometry type. If diffuse channel isn’t set, white is defaulted as the diffuse color with in_alpha the alpha value.

Param in_alpha

An alpha to apply to the specified channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor on the front face, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor on the front face, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel on the front face, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel on the front face, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetFrontFaceTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel on the front face, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetGeometryColor (HPS.RGBAColor in_rgba_color)

Sets a color on all basic geometry types (faces, edges, lines, markers, vertices, text) using an RGBAColor, replacing any previous mapping to those geometry types.

Param in_rgba_color

An RGBA color that will be applied to all basic geometry types. Alpha channel is ignored.

Return

A reference to this object.

HPS.MaterialMappingKit SetLightColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetLightMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetLineAlpha (float in_alpha)

Sets alpha on the diffuse channel on the line, replacing any previous mapping to that channel on this geometry type.

Param in_alpha

The alpha value to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetLineColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type. Note that this function implicitly sets an alpha value for lines if an RGBColor is passed in. The alpha value can be modified either by calling this function again, or by calling SetLineAlpha.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetLineMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetMarkerColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetMarkerMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetTextColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

A color to apply to this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetTextMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexAlpha (float in_alpha)

Sets alpha on the diffuse channel on the vertex, replacing any previous mapping to that channel on this geometry type. If diffuse channel isn’t set, white is defaulted as the diffuse color with in_alpha as the alpha value.

Param in_alpha

An alpha to apply to the specified channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexColor (HPS.RGBAColor in_rgba_color)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexColor (HPS.RGBAColor in_rgba_color, HPS.Material.Color.Channel in_channel)

Sets a color on a particular channel using an RGBAColor, replacing any previous mapping to that channel on this geometry type.

Param in_rgba_color

A color to apply to the specified channel of this geometry type. Currently only the DiffuseColor channel supports alpha, it is ignored otherwise.

Param in_channel

The color channel to apply the color to.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexGloss (float in_value)

Sets the gloss <ndash > general “shininess” <ndash > of this geometry type.

Param in_value

A gloss value is always positive, and most surfaces have a gloss in the range from 1.0 to 30.0.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexMaterial (HPS.MaterialKit in_material)

Sets a material for all channels on this geometry type, replacing any previous mapping to this geometry type.

Param in_material

A material kit to be applied to all channels on this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexMaterialByIndex (float in_material_index)

Sets a material by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexModulatedTexture (string in_texture_name, HPS.RGBAColor in_modulating_color, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture on a particular channel, replacing any previous mapping to that channel on this geometry type. The texture will be modulated by the specified color. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_modulating_color

a color that is used to tint the texture. Only textures defined with modulation enabled support this.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexTexture (string in_texture_name)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Return

A reference to this object.

HPS.MaterialMappingKit SetVertexTexture (string in_texture_name, HPS.Material.Texture.Channel in_channel, ulong in_layer)

Sets a texture in_texture_name on the channel in_channel, replacing any previous mapping to that channel on this geometry type. The DiffuseTexture channel additionally supports mapping textures to multiple layers with higher layers appearing on top of lower layers.

Param in_texture_name

The name of a texture, defined in a portfolio that is accessible.

Param in_channel

The texture channel to apply the texture to.

Param in_layer

The specific layer of in_channel to apply the texture to. Currently only relevant for DiffuseTexture, ignored otherwise.

Return

A reference to this object.

HPS.MaterialMappingKit SetWindowColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

An RGBA color that will be applied to this geometry types.

Return

A reference to this object.

HPS.MaterialMappingKit SetWindowContrastColor (HPS.RGBAColor in_rgba_color)

Sets a color using an RGBAColor, replacing any previous mapping to this geometry type.

Param in_rgba_color

An RGBA color that will be applied to this geometry types.

Return

A reference to this object.

HPS.MaterialMappingKit SetWindowContrastMaterialByIndex (float in_material_index)

Sets a color by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

HPS.MaterialMappingKit SetWindowMaterialByIndex (float in_material_index)

Sets a color by using in_material_index to index into the active material palette, replacing any previous mapping to this geometry type. Because this geometry only supports a simple color, only the diffuse channel of the material will be used.

Param in_material_index

An index into the active material palette.

Return

A reference to this object.

void Show (out HPS.MaterialMappingKit out_kit)

Copies all settings from this MaterialMappingKit into the given MaterialMappingKit.

Param out_kit

The MaterialMappingKit to populate with the contents of this object.

bool ShowAmbientLightDownColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowAmbientLightUpColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowBackFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowBackFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowBackFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutEdgeColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowFrontFaceChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFrontFaceChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor or RGBColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index. If out_type is DiffuseChannelAlpha, this value contains the alpha value. If out_type is GlossValue, this value contains the gloss value.

Return

true if the setting is valid, false otherwise.

bool ShowFrontFaceMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowLightColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowLineAlpha (out float out_alpha)

Shows the alpha setting for lines.

Param out_alpha

The alpha value for lines.

Return

true if the setting is valid, false otherwise.

bool ShowLineColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowMarkerColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowTextColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowVertexChannel (HPS.Material.Channel in_channel, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowVertexChannel (HPS.Material.Channel in_channel, ulong in_layer, out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out string out_texture_name, out float out_value)

Shows the material mapping for the channel in_channel and layer in_layer of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param in_channel

The channel to query.

Param in_layer

The specific layer of in_channel to query. Currently only relevant for DiffuseTexture, ignored otherwise.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color. If out_type is ModulatedTexture, this value contains the modulating color.

Param out_texture_name

If out_type is TextureName or ModulatedTexture, this value contains the name of the texture.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowVertexMaterial (out HPS.Material.Type out_type, out HPS.MaterialKit out_kit, out float out_value)

Shows the material mapping for all channels of this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_kit

If out_type is FullMaterial, this value contains the material.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowWindowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

bool ShowWindowContrastColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_value)

Shows the material mapping for this geometry type. The out_type parameter indicates which of the other arguments is valid.

Param out_type

Indicates the type of material.

Param out_rgba_color

If out_type is RGBAColor, this value contains the color.

Param out_value

If out_type is MaterialIndex, this value contains the index.

Return

true if the setting is valid, false otherwise.

HPS.MaterialMappingKit UnsetAmbientLightColor ()

Removes the material mapping for both ambient light up and ambient light down.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetAmbientLightDownColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetAmbientLightUpColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetBackFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetBackFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetBackFaceMaterial ()

Removes the material mapping for all channels of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetCutEdgeColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetCutFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetCutFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetCutFaceMaterial ()

Removes the material mapping for all channels of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetCutGeometryColor ()

Removes the material mapping for both cut edges and cut faces.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetEdgeChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetEdgeChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetEdgeMaterial ()

Removes the material mapping for all channels of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetFaceMaterial ()

Removes the material mapping for all channels of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetFrontFaceChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetFrontFaceChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetFrontFaceMaterial ()

Removes the material mapping for all channels of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetLightColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetLineAlpha ()

Removes the alpha setting for lines.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetLineColor ()

Removes the material mapping for this geometry type. Note that this also unsets alpha settings for lines specified in this kit.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetMarkerColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetTextColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetVertexChannel (HPS.Material.Channel in_channel)

Removes the material mapping for one channel of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetVertexChannel (HPS.Material.Channel in_channel, ulong in_layer)

Removes the material mapping for one layer of one channel (usually DiffuseTexture) of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetVertexMaterial ()

Removes the material mapping for all channels of this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetWindowColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

HPS.MaterialMappingKit UnsetWindowContrastColor ()

Removes the material mapping for this geometry type.

Return

A reference to this object.

Public Static Functions

HPS.MaterialMappingKit GetDefault ()

Creates a HPS.MaterialMappingKit 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 MaterialMappingKit with the default settings.

class MaterialPaletteDefinition : public HPS.Definition

The MaterialPaletteDefinition class is a smart pointer to a database object. It is a handle to a material palette defined within a portfolio.

Public Functions

MaterialPaletteDefinition ()

The default constructor creates an uninitialized MaterialPaletteDefinition object. The Type() function will return Type.None.

MaterialPaletteDefinition (HPS.Definition in_that)

This constructor creates a MaterialPaletteDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a material palette definition. Otherwise the copy will fail and the resulting MaterialPaletteDefinition will be invalid.

Param in_that

The source Definition to copy.

MaterialPaletteDefinition (HPS.MaterialPaletteDefinition in_that)

The copy constructor creates a MaterialPaletteDefinition object that shares the underlying smart-pointer of the source MaterialPaletteDefinition.

Param in_that

The source MaterialPaletteDefinition to copy.

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.MaterialKit[] in_source)

Redefine the material array for this MaterialPaletteDefinition.

Param in_source

The new array of materials for this MaterialPaletteDefinition.

void Show (out HPS.MaterialKit[] out_source)

Shows the material array for this MaterialPaletteDefinition.

Param out_source

The array of materials for this MaterialPaletteDefinition.

class MaterialPaletteDefinitionArray : public HPS::InternalHPSArray<HPS.MaterialPaletteDefinition>
class MaterialTypeArray : public HPS.InternalHPSBlittableArray<HPS.Material.Type>
class MatrixKit : public IDisposable

The MatrixKit class is a user space object, useful for carrying a group attribute settings.

Public Functions

HPS.MatrixKit Adjoint ()

Replaces this matrix with it’s matrix adjoint. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.

Return

A reference to this object.

bool Compose (HPS.Vector in_translation, HPS.Vector in_scale, HPS.Quaternion in_rotation)

Composes this matrix from translation, scale, and rotation components.

Param in_translation

The translation Vector to use.

Param in_scale

The scale Vector to use.

Param in_rotation

The translation Quaternion to use.

Return

true if the matrix was successfully composed, false otherwise.

HPS.MatrixKit Concatenate (HPS.MatrixKit in_kit)

Replaces this matrix with the matrix product of itself multiplied by another matrix.

Param in_kit

the right side operand of the matrix multiplication.

Return

A reference to this object.

bool Decompose (out HPS.Vector out_translation, out HPS.Vector out_scale, out HPS.Quaternion out_rotation)

Decomposes this matrix into translation, scale, and rotation components.

Param out_translation

The translation Vector extracted from this matrix.

Param out_scale

The out_rotation Quaternion extracted from this matrix.

Return

true if the matrix was successfully decomposed, false otherwise.

bool Empty ()

Indicates whether this object has any values set on it.

Deprecated:

This function exists for compatibility and will always return false.

Return

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

bool Equals (HPS.MatrixKit in_kit)

Check if the source MatrixKit is equivalent to this object.

Param in_kit

The source MatrixKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

HPS.MatrixKit Invert ()

Replaces this matrix with it’s matrix inverse. If this matrix is singular (determinant = 0), it will be unchanged.

Return

A reference to this object.

bool IsIdentity ()

Indicates whether or not this matrix is an identity matrix

Return

Whether this matrix is an identity matrix.

MatrixKit ()

Initializes an identity matrix.

MatrixKit (float[] in_matrix_source)

This constructor allows implicit construction from an array of floats.

Param in_matrix_source

An array of floats that will be used to construct a new matrix. If this array is not at least 16 elements in length, only the valid members will be used, leaving the remainder initialized as the identity matrix.

MatrixKit (HPS.MatrixKit in_other)

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

MatrixKit (HPS.Quaternion in_quaternion)

This constructor allows implicit construction from a quaternion.

Param in_quaternion

A quaternion used to construct a new matrix.

HPS.MatrixKit Multiply (float in_scalar)

Performs a scalar multiplication of this matrix.

Param in_scalar

A scalar to multiply this object by.

Return

A new MatrixKit representing the product.

HPS.MatrixKit Multiply (HPS.MatrixKit in_right)

Performs a matrix multiplication with this object as the left operand.

Param in_right

A matrix used as the right operand of a matrix multiplication.

Return

A new MatrixKit representing the product.

HPS.MatrixKit MultiplyAndAssign (float in_scalar)

Performs a scalar multiplication of this matrix and then assigns it to this object.

Param in_scalar

A scalar to multiply this object by.

Return

A reference to this object after the multiplication.

HPS.MatrixKit MultiplyAndAssign (HPS.MatrixKit in_right)

Performs a matrix multiplication with this object as the left operand and then assigns it to this object.

Param in_right

A matrix used as the right operand of a matrix multiplication.

Return

A reference to this object after the multiplication.

HPS.MatrixKit Normalize ()

Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.

Return

A reference to this object.

void Reset ()

Sets this kit to an identity matrix.

HPS.MatrixKit Rotate (float in_x, float in_y, float in_z)

Concatenates a rotation matrix to this matrix with rotation around the primary axes.

Param in_x

The number of degrees to rotate around the x-axis.

Param in_y

The number of degrees to rotate around the y-axis.

Param in_z

The number of degrees to rotate around the z-axis.

Return

A reference to this object.

HPS.MatrixKit RotateOffAxis (HPS.Vector in_vector, float in_theta)

Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector.

Param in_vector

The vector to rotate around.

Param in_theta

the number of degrees to rotate around the specified vector

Return

A reference to this object.

HPS.MatrixKit Scale (float in_x, float in_y, float in_z)

Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene.

Param in_x

The scale multiplier along the x-axis.

Param in_y

The scale multiplier along the y-axis.

Param in_z

The scale multiplier along the z-axis.

Return

A reference to this object.

void Set (HPS.MatrixKit other)

Copies the data from the source MatrixKit into this object.

HPS.MatrixKit SetElement (ulong in_ordinal_zero_to_fifteen, float in_value)

Sets a single matrix element, indexed as a linear array in row-major order.

Param in_ordinal_zero_to_fifteen

The offset into the matrix. Valid range is [0, 15].

Param in_value

The matrix element.

Return

A reference to this object.

HPS.MatrixKit SetElement (ulong in_row, ulong in_column, float in_value)

Sets a single matrix element.

Param in_row

The row index. Valid range is [0, 3].

Param in_column

The column index. Valid range is [0, 3].

Param in_value

The matrix element.

Return

A reference to this object.

HPS.MatrixKit SetElements (float[] in_values)

Sets some or all elements in the matrix from an array, starting with the first element.

Param in_values

An array of float values in row-major order that should replace the values in the matrix.

Return

A reference to this object.

bool ShowAdjoint (out HPS.MatrixKit out_matrix)

Computes the matrix adjoint of this matrix. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.

Param out_matrix

The matrix adjoint of this matrix.

Return

true if the setting is valid, false otherwise.

bool ShowDeterminant (out float out_determinant)

Computes the matrix determinant of this matrix.

Param out_determinant

The matrix determinant.

Return

true if the setting is valid, false otherwise.

bool ShowElement (ulong in_ordinal_zero_to_fifteen, out float out_value)

Shows a single matrix element, indexed as a linear array in row-major order.

Param in_ordinal_zero_to_fifteen

The offset into the matrix. Valid range is [0, 15].

Param out_value

The matrix element.

Return

true if the setting is valid, false otherwise.

bool ShowElement (ulong in_row, ulong in_column, out float out_value)

Shows a single matrix element.

Param in_row

The row index. Valid range is [0, 3].

Param in_column

The column index. Valid range is [0, 3].

Param out_value

The matrix element.

Return

true if the setting is valid, false otherwise.

bool ShowElements (out float[] out_matrix)

Shows all elements of this matrix as an array.

Param out_matrix

The contents of the matrix arranged as a linear array in row-major order.

Return

true if the setting is valid, false otherwise.

bool ShowInverse (out HPS.MatrixKit out_matrix)

Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0).

Param out_matrix

The matrix inverse of this matrix.

Return

true if the setting is valid, false otherwise.

HPS.Plane Transform (HPS.Plane in_source)

Transform a plane through this matrix.

Param in_source

The plane to apply a transformation to.

Return

A new plane representing the transformed plane.

HPS.Plane[] Transform (HPS.Plane[] in_source)

Transform an array of planes through this matrix.

Param in_source

An array of planes to apply a transformation to.

Return

A new plane array representing the transformed planes.

HPS.Point Transform (HPS.Point in_source)

Transform a point through this matrix.

Param in_source

The point to apply a transformation to.

Return

A new point representing the transformed point.

HPS.Point[] Transform (HPS.Point[] in_source)

Transform an array of points through this matrix.

Param in_source

An array of points to apply a transformation to.

Return

A new point array representing the transformed points.

HPS.SimpleCuboid Transform (HPS.SimpleCuboid in_source)

Transform a SimpleCuboid through this matrix.

Param in_source

The cuboid to apply a transformation to.

Return

A new SimpleCuboid representing the transformed cuboid.

HPS.SimpleSphere Transform (HPS.SimpleSphere in_source)

Transform a SimpleSphere through this matrix.

Param in_source

The sphere to apply a transformation to.

Return

A new SimpleSphere representing the transformed sphere.

HPS.Vector Transform (HPS.Vector in_source)

Transform a vector through this matrix.

Param in_source

The vector to apply a transformation to.

Return

A new vector representing the transformed vector.

HPS.Vector[] Transform (HPS.Vector[] in_source)

Transform an array of vectors through this matrix.

Param in_source

An array of vectors to apply a transformation to.

Return

A new vector array representing the transformed vectors.

HPS.MatrixKit Translate (float in_x, float in_y, float in_z)

Concatenates a translation matrix to this matrix that moves geometry.

Param in_x

The number of units to translate along the x-axis.

Param in_y

The number of units to translate along the y-axis.

Param in_z

The number of units to translate along the z-axis.

Return

A reference to this object.

HPS.MatrixKit Translate (HPS.Vector in_translation)

Concatenates a translation matrix to this matrix that moves geometry.

Param in_translation

A vector distance to translate by.

Return

A reference to this object.

HPS.MatrixKit UnsetEverything ()

Sets this kit to an identity matrix.

Deprecated:

This function exists for compatibility and Reset should be preferred.

Return

A reference to this kit.

Public Static Functions

HPS.MatrixKit GetDefault ()

Creates a MatrixKit representing the identity matrix.

Return

An identity MatrixKit.

class MatrixKitArray : public HPS::InternalHPSArray<HPS.MatrixKit>
class Mesh : public IDisposable

The Mesh class is a concept class for mesh-related enum classes.

Public Types

enum Component

Enumerates the mesh components that vertex colors can be applied to.

Values:

Faces

The vertex colors applied to faces.

Edges

The vertex colors applied to edges.

Vertices

The vertex colors applied to vertices.

class MeshKey : public HPS.GeometryKey

The MeshKey class is a smart pointer to a database object. It is a handle to a mesh created by SegmentKey.InsertMesh.

Public Functions

void Consume (HPS.MeshKit in_kit)

Completely replaces all settings on this MeshKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this MeshKey.

HPS.MeshKey EditMeshByReplacement (ulong in_row_offset, ulong in_column_offset, ulong in_row_count, ulong in_column_count, HPS.Point[] in_points)

Replaces a range of points for this MeshKey.

Param in_row_offset

The row offset into the MeshKey at which to start replacing points. This value must be such that in_row_offset<row_count for replacement to succeed.

Param in_column_offset

The column offset into the MeshKey at which to start replacing points. This value must be such that in_column_offset<column_count for replacement to succeed.

Param in_row_count

The number of rows to replace. This value must be such that in_row_offset+in_row_count<=row_count for replacement to succeed.

Param in_column_count

The number of columns to replace. This value must be such that in_column_offset+in_column_count<=column_count for replacement to succeed.

Param in_points

The points to use to replace those in the specified range. The size of the array should be in_row_count*in_column_count.

Return

A reference to this MeshKey.

ulong GetPointCount ()

Retrieves the number of points in this mesh.

Return

The number of points in this mesh.

MeshKey ()

The default constructor creates an uninitialized MeshKey object. The Type() function will return Type.None.

MeshKey (HPS.Key in_that)

This constructor creates an MeshKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a mesh key. Otherwise the copy will fail and the resulting MeshKey will be invalid.

Param in_that

The source Key to copy.

MeshKey (HPS.MeshKey in_that)

The copy constructor creates a MeshKey object that shares the underlying smart-pointer of the source MeshKey.

Param in_that

The source MeshKey to copy.

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

Replace those settings on this MeshKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this MeshKey.

HPS.MeshKey SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float in_index)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_index

The material index to set on the edges.

Return

A reference to this MeshKey.

HPS.MeshKey SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float[] in_indices)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_indices

The material indices to set on the edges.

Return

A reference to this MeshKey.

HPS.MeshKey SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor in_rgb_color)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_color

The color to set on the edges.

Return

A reference to this MeshKey.

HPS.MeshKey SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor[] in_rgb_colors)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_colors

The colors to set on the edges.

Return

A reference to this MeshKey.

HPS.MeshKey SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool in_visibility)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibility

The visibility to apply to each edge specified.

Return

A reference to this MeshKey.

HPS.MeshKey SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool[] in_visibilities)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibilities

The visibilities that should be set for each edge specified.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceIndexColorsByList (ulong[] in_faces, float in_index)

Sets a single material index on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color.

Param in_index

The material index to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceIndexColorsByList (ulong[] in_faces, float[] in_indices)

Sets face material indices on a selection of arbitrary faces. If the sizes of the face index and material index arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors.

Param in_indices

The material indices to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceIndexColorsByRange (ulong in_start, float[] in_indices)

Sets face material indices on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.

Param in_indices

The material indices to set on the faces for this MeshKey. The size of the array must be such that in_start+in_indices.size()<=face_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_index

The material index to set on the faces for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceNormalsByList (ulong[] in_faces, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the normal.

Param in_normal

The normal to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceNormalsByList (ulong[] in_faces, HPS.Vector[] in_normals)

Sets face normals on a selection of arbitrary faces. If the sizes of the face index and normal arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the normals.

Param in_normals

The normals to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting normals. This value must be such that in_start<face_count for setting to succeed.

Param in_normals

The normals to set on the faces for this MeshKey. The size of the array must be such that in_start+in_normals.size()<=face_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting the normal. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the normal. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_normal

The normal to set on the faces for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color.

Param in_rgb_color

The RGB color to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a selection of arbitrary faces. If the sizes of the face index array and the color array different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the faces for this MeshKey. The size of the array must be such that in_start+in_rgb_colors.size()<=face_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the faces for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceVisibilitiesByList (ulong[] in_faces, bool in_visibility)

Sets a single visibility on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the visibility.

Param in_visibility

The visibility to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceVisibilitiesByList (ulong[] in_faces, bool[] in_visibilities)

Sets face visibilities on a selection of arbitrary faces. If the sizes of the face index and visibility arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the visibilities.

Param in_visibilities

The visibilities to set on the faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting visibilities. This value must be such that in_start<face_count for setting to succeed.

Param in_visibilities

The visibilities to set on the faces for this MeshKey. The size of the array must be such that in_start+in_visibilities.size()<=face_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetFaceVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start setting the visibility. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the visibility. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_visibility

The visibility to set on the faces for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetMaterialMapping (HPS.MaterialMappingKit in_kit)

Sets the specified material mappings on this MeshKey. Only face, back face, cut edge, cut face, edge, and vertex materials will be set on the mesh. These material settings will be “global” for the mesh, i.e., all types will get the material for that type. To get different materials for the same types, e.g., faces with different colors, it is necessary to use the per-vertex or per-face functions.

Param in_kit

The material mappings to set on this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetPoints (ulong in_rows, ulong in_columns, HPS.Point[] in_points)

Replace the points on this MeshKey with the specified points.

Param in_rows

The number of rows for this MeshKey.

Param in_columns

The number of columns for this MeshKey.

Param in_points

The points to use to replace those on this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

Sets a single material index on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Mesh.Component in_apply_to)

Sets a single material index on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Mesh.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_indices.size()<=vertex_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Mesh.Component in_apply_to)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_indices.size()<=vertex_count for the setting to succeed.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Mesh.Component in_apply_to)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this MeshKey.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the normal.

Param in_normal

The normal to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector[] in_normals)

Sets vertex normals on a selection of arbitrary vertices. If the sizes of the vertex index and normal arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the normals.

Param in_normals

The normals to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start setting normals. This value must be such that in_start<point_count for setting to succeed.

Param in_normals

The normals to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_normals.size()<=vertex_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the normal. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the normal. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_normal

The normal to set on the vertices for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexParametersByList (ulong[] in_vertices, float[] in_params)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters.

Param in_params

The texture parameters to set on the vertices for this MeshKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexParametersByList (ulong[] in_vertices, float[] in_params, ulong in_param_width)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters.

Param in_params

The texture parameters to set on the vertices for this MeshKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexParametersByRange (ulong in_start, float[] in_params)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.

Param in_params

The texture parameters to set on the vertices for this MeshKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored. This value must be such that in_start+in_params.size()/in_param_width<=point_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexParametersByRange (ulong in_start, float[] in_params, ulong in_param_width)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.

Param in_params

The texture parameters to set on the vertices for this MeshKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored. This value must be such that in_start+in_params.size()/in_param_width<=point_count for the setting to succeed.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color, HPS.Mesh.Component in_apply_to)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgba_colors

The RGBA colors to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_rgba_colors.size()<=vertex_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgba_colors

The RGBA colors to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_rgba_colors.size()<=vertex_count for the setting to succeed.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_rgba_color

The RGBA color to set on the vertices for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color, HPS.Mesh.Component in_apply_to)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_rgba_color

The RGBA color to set on the vertices for this MeshKey.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Mesh.Component in_apply_to)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_rgb_colors.size()<=vertex_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_rgb_colors.size()<=vertex_count for the setting to succeed.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Mesh.Component in_apply_to)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this MeshKey.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexVisibilitiesByList (ulong[] in_vertices, bool in_visibility)

Sets a single visibility on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the visibility.

Param in_visibility

The visibility to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexVisibilitiesByList (ulong[] in_vertices, bool[] in_visibilities)

Sets vertex visibilities on a selection of arbitrary vertices. If the sizes of the vertex index and visibility arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the visibilities.

Param in_visibilities

The visibilities to set on the vertices.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start setting visibilities. This value must be such that in_start<point_count for setting to succeed.

Param in_visibilities

The visibilities to set on the vertices for this MeshKey. The size of the array must be such that in_start+in_visibilities.size()<=vertex_count for the setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey SetVertexVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start setting the visibility. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the visibility. This value must be such that in_start+in_count<=vertex_count for the setting to succeed.

Param in_visibility

The visibility to set on the vertices for this MeshKey.

Return

A reference to this MeshKey.

void Show (out HPS.MeshKit out_kit)

Copy the contents of this MeshKey into the specified kit.

Param out_kit

The kit to populate with the contents of this MeshKey.

bool ShowColumns (out ulong out_columns)

Show the number of columns for this MeshKey.

Param out_columns

The number of columns for this MeshKey.

Return

true if columns were set, false otherwise.

bool ShowEdgeColors (out ulong[] out_vertices1, out ulong[] out_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param out_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed.

Param out_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is MaterialIndex.

Return

A reference to this MeshKey.

bool ShowEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.MaterialIndex.

Return

A reference to this MeshKey.

bool ShowEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, out bool[] out_validities, out bool[] out_visibilities)

Shows all the edge visibilities on this ShellKey.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_validities

The validities of the visibilities for each edge. If an edge has a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The edge visibilities for each edge. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowFaceColors (out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on MeshKey.

Param out_types

The types of face colors for each face. If a face does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face had a face color set, false otherwise.

bool ShowFaceColorsByList (ulong[] in_faces, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a selection of arbitrary faces. The order of the values in the ouput arrays is the same as the input face index array, i.e., the values of out_types[i], out_rgb_colors[i], and out_indices[i], correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the colors.

Param out_types

The types of face colors for each face at the specified index. If a face at a specified index does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified face had a face color set, false otherwise.

bool ShowFaceColorsByRange (ulong in_start, ulong in_count, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start showing colors. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of colors to show.

Param out_types

The types of face colors for each face in the specified range. If a face in the specified range does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face in the specified range had a face color set, false otherwise.

bool ShowFaceNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows all the face normals for this MeshKey.

Param out_validities

The validities of the normals for each face. If a face had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face had a face normal set, false otherwise.

bool ShowFaceNormalsByList (ulong[] in_faces, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face normal set, false otherwise.

bool ShowFaceNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of normals to show.

Param out_validities

The validities of the normals for each face in the specified range. If a face in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face normal set, false otherwise.

bool ShowFaceVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the face visibilities on this MeshKey.

Param out_validities

The validities of the visibilities for each face. If a face had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities or each face. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByList (ulong[] in_faces, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start showing visibilities. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of visibilities to show.

Param out_validities

The validities of the visibilities for each face in the specified range. If a face in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face visibility set, false otherwise.

bool ShowMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the material mappings set on this MeshKey. These are the “global” material settings, not the per-vertex and per-face material settings.

Param out_kit

The material mappings set on this MeshKey.

Return

true if material mappings were set, false otherwise.

bool ShowNetVertexNormals (out HPS.Vector[] out_normals)

Shows the all net vertex normals on this MeshKey.

Param out_normals

The vertex normals for each vertex.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormals (out HPS.Vector[] out_normals, HPS.Drawing.Handedness in_polygon_handedness)

Shows the all net vertex normals on this MeshKey.

Param out_normals

The vertex normals for each vertex.

Param in_polygon_handedness

The polygon handedness to assume when returning normals. Defaults to None. Specifying no handedness when requesting net normals, will return the normals using the handedness used internally by Visualize for this particular shell. When specifying a handedness, only normals which were implicitly calculated by Visualize will be flipped to conform to the requested handedness. User specified normals will be left untouched.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormalsByRange (ulong in_start, ulong in_count, out HPS.Vector[] out_normals)

Shows the net vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_normals

The vertex normals for each vertex in the specified range.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormalsByRange (ulong in_start, ulong in_count, out HPS.Vector[] out_normals, HPS.Drawing.Handedness in_polygon_handedness)

Shows the net vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_normals

The vertex normals for each vertex in the specified range.

Param in_polygon_handedness

The polygon handedness to assume when returning normals. Defaults to None. Specifying no handedness when requesting net normals, will return the normals using the handedness used internally by Visualize for this particular shell. When specifying a handedness, only normals which were implicitly calculated by Visualize will be flipped to conform to the requested handedness. User specified normals will be left untouched.

Return

true if no errors were encountered, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this MeshKey.

Param out_points

The points for this MeshKey.

Return

true if points were set, false otherwise.

bool ShowPoints (out ulong out_rows, out ulong out_columns, out HPS.Point[] out_points)

Show the number of rows, number of columns, and points for this MeshKey.

Param out_rows

The number of rows for this MeshKey.

Param out_columns

The number of columns for this MeshKey.

Param out_points

The points for this MeshKey.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this MeshKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this MeshKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this MeshKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this MeshKey.

Return

true if all requested points were set, false otherwise.

bool ShowRows (out ulong out_rows)

Show the number of rows for this MeshKey.

Param out_rows

The number of rows for this MeshKey.

Return

true if rows were set, false otherwise.

bool ShowVertexColors (HPS.Mesh.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows all the vertex colors on the specified mesh component.

Param in_apply_to

The mesh component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified mesh component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Mesh.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified mesh component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], out_rgba_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors.

Param in_apply_to

The mesh component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex at the specified index. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Mesh.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start showing colors. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of colors to show.

Param in_apply_to

The mesh component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified mesh component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex in the specified range. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

bool ShowVertexNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows all the vertex normals on this MeshKey.

Param out_validities

The validities of the normals for each vertex. If a vertex had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex normals were shown, false otherwise.

bool ShowVertexNormalsByList (ulong[] in_vertices, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex normal set, false otherwise.

bool ShowVertexNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of normals to show.

Param out_validities

The validities of the normals for each vertex in the specified range. If a vertex in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex normal set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params)

Shows the texture parameters for all the vertices in this MeshKey. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters for all the vertices in this MeshKey.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a selection of arbitrary vertices. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_vertices.size(). The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a selection of arbitrary vertices. The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a range of vertices starting at the specified offset. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param in_start

The offset into the vertices for this MeshKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of vertices for which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of vertices for which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the vertex visibilities on this MeshKey.

Param out_validities

The validities of the visibilities for each vertex. If a vertex had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByList (ulong[] in_vertices, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start showing visibilities. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of visibilities to show.

Param out_validities

The validities of the visibilities for each vertex in the specified range. If a vertex in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex visibility set, false otherwise.

HPS.MeshKey UnsetEdgeColors ()

Unsets edge colors on all edges.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetEdgeEverything ()

Removes all edge settings (edge colors and edge visibilities) from this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetEdgeVisibilities ()

Removes all edge visibilities.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetEverything ()

Removes all settings from this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceColors ()

Removes all face colors (RGB colors or material indices).

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceColorsByList (ulong[] in_faces)

Removes the face colors (RGB colors or material indices) on a selection of arbitrary vertices.

Param in_faces

The indices of the faces on which to remove the colors.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of face colors (RGB colors or material indices) starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start removing colors. This value must be such that in_start<face_count for removal to succeed.

Param in_count

The number of face colors to unset for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceEverything ()

Removes all face settings (face colors, face normals, and face visibilities) from this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceNormals ()

Removes all face normals.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceNormalsByList (ulong[] in_faces)

Removes the face normals on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to remove the normals.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of face normals starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start removing normals. This value must be such that in_start<face_count for removal to succeed.

Param in_count

The number of face normals to unset for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceVisibilities ()

Removes all face visibilities.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceVisibilitiesByList (ulong[] in_faces)

Removes the face visibilities on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to remove the visibilities.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetFaceVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of face visibilities starting at the specified offset.

Param in_start

The offset into the faces for this MeshKey at which to start removing visibilities. This value must be such that in_start<face_count for removal to succeed.

Param in_count

The number of face visibilities to unset for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetMaterialMapping ()

Removes all material mappings on this MeshKey. This removes the “global” material settings and does not affect per-vertex or per-face materials.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexColors ()

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for all mesh components.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexColors (HPS.Mesh.Component in_apply_to)

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for the specified mesh component.

Param in_apply_to

The mesh component for which to remove the colors.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for all mesh components on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexColorsByList (ulong[] in_vertices, HPS.Mesh.Component in_apply_to)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for the specificed mesh component on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Param in_apply_to

The mesh component for which to remove the colors.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for all mesh components starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex colors to unset for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Mesh.Component in_apply_to)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for the specified mesh component starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex colors to unset for this MeshKey.

Param in_apply_to

The mesh component for which to remove the colors.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexEverything ()

Removes all vertex settings (vertex colors, vertex normals, texture parameters, and vertex visibilities) from this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexNormals ()

Removes all vertex normals.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexNormalsByList (ulong[] in_vertices)

Removes the vertex normals on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the normals.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex normals starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start removing normals. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex normals to unset for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexParameters ()

Removes all texture parameters.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexParametersByList (ulong[] in_vertices)

Removes the texture parameters on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the texture parameters.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexParametersByRange (ulong in_start, ulong in_count)

Removes the specified range of texture parameters starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start removing texture parameters. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of texture parameters to unset for this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexVisibilities ()

Removes all vertex visibilities.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexVisibilitiesByList (ulong[] in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Return

A reference to this MeshKey.

HPS.MeshKey UnsetVertexVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex visibilities starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKey at which to start removing visibilities. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex visibilities to unset for this MeshKey.

Return

A reference to this MeshKey.

class MeshKit : public HPS.Kit

The MeshKit class is a user space object. It is a kit analog to a MeshKey.

Public Functions

void Consume (HPS.MeshKit in_kit)

Copies the source MeshKit into this MeshKit and resets the source kit.

Param in_kit

The source MeshKit to consume.

override bool Empty ()

Indicates whether this MeshKit has any values set on it.

Return

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

bool Equals (HPS.MeshKit in_kit)

Check if the source MeshKit is equivalent to this MeshKit.

Param in_kit

The source MeshKit to compare to this MeshKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPointCount ()

Retrieves the number of points in this mesh.

Return

The number of points in this mesh.

MeshKit ()

The default constructor creates an empty MeshKit object.

MeshKit (HPS.MeshKit in_kit)

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

Param in_kit

The source MeshKit to copy.

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

Copies the source MeshKit into this MeshKit.

Param in_kit

The source MeshKit to copy.

HPS.MeshKit SetColumns (ulong in_columns)

Sets the number of columns for this MeshKit.

Param in_columns

The number of columns for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float in_index)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_index

The material index to set on the edges.

Return

A reference to this MeshKit.

HPS.MeshKit SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float[] in_indices)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_indices

The material indices to set on the edges.

Return

A reference to this MeshKit.

HPS.MeshKit SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor in_rgb_color)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_color

The color to set on the edges.

Return

A reference to this MeshKit.

HPS.MeshKit SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor[] in_rgb_colors)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_colors

The colors to set on the edges.

Return

A reference to this MeshKit.

HPS.MeshKit SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool in_visibility)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibility

The visibility to apply to each edge specified.

Return

A reference to this MeshKit.

HPS.MeshKit SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool[] in_visibilities)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibilities

The visibilities that should be set for each edge specified.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceIndexColorsByList (ulong[] in_faces, float in_index)

Sets a single material index on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color.

Param in_index

The material index to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceIndexColorsByList (ulong[] in_faces, float[] in_indices)

Sets face material indices on a selection of arbitrary faces. If the sizes of the face index and material index arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors.

Param in_indices

The material indices to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceIndexColorsByRange (ulong in_start, float[] in_indices)

Sets face material indices on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting colors.

Param in_indices

The material indices to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting the color.

Param in_count

The number of faces on which to set the color.

Param in_index

The material index to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceNormalsByList (ulong[] in_faces, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the normal.

Param in_normal

The normal to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceNormalsByList (ulong[] in_faces, HPS.Vector[] in_normals)

Sets face normals on a selection of arbitrary faces. If the sizes of the face index and normal arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the normals.

Param in_normals

The normals to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting normals.

Param in_normals

The normals to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting the normal.

Param in_count

The number of faces on which to set the normal.

Param in_normal

The normal to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color.

Param in_rgb_color

The RGB color to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a selection of arbitrary faces. If the sizes of the face index array and the color array different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting the color.

Param in_count

The number of faces on which to set the color.

Param in_rgb_color

The RGB color to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceVisibilitiesByList (ulong[] in_faces, bool in_visibility)

Sets a single visibility on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the visibility.

Param in_visibility

The visibility to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceVisibilitiesByList (ulong[] in_faces, bool[] in_visibilities)

Sets face visibilities on a selection of arbitrary faces. If the sizes of the face index and visibility arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the visibilities.

Param in_visibilities

The visibilities to set on the faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting visibilities.

Param in_visibilities

The visibilities to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetFaceVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start setting the visibility.

Param in_count

The number of faces on which to set the visibility.

Param in_visibility

The visibility to set on the faces for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetMaterialMapping (HPS.MaterialMappingKit in_kit)

Sets the specified material mappings on this MeshKit. If this kit is used to insert a mesh, only face, back face, cut edge, cut face, edge, and vertex materials will be set on the inserted mesh. These material settings will be “global” for the mesh, i.e., all types will get the material for that type. To get different materials for the same types, e.g., faces with different colors, it is necessary to use the per-vertex or per-face functions.

Param in_kit

The material mappings to set on this MeshKey.

Return

A reference to this MeshKey.

HPS.MeshKit SetPoints (HPS.Point[] in_points)

Sets the points for this MeshKit.

Param in_points

The points for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetPoints (ulong in_rows, ulong in_columns, HPS.Point[] in_points)

Sets the points, rows and columns for this MeshKit.

Param in_rows

The number of rows for this MeshKit.

Param in_columns

The number of columns for this MeshKit.

Param in_points

The points to use to replace those on this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the MeshKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.MeshKit SetRows (ulong in_rows)

Sets the number of rows for this MeshKit.

Param in_rows

The number of rows for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.MeshKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.MeshKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

HPS.MeshKit SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

Sets a single material index on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Mesh.Component in_apply_to)

Sets a single material index on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Mesh.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting colors.

Param in_indices

The material indices to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Mesh.Component in_apply_to)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting colors.

Param in_indices

The material indices to set on the vertices for this MeshKit.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_index

The material index to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Mesh.Component in_apply_to)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_index

The material index to set on the vertices for this MeshKit.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the normal.

Param in_normal

The normal to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector[] in_normals)

Sets vertex normals on a selection of arbitrary vertices. If the sizes of the vertex index and normal arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the normals.

Param in_normals

The normals to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start setting normals.

Param in_normals

The normals to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the normal.

Param in_count

The number of vertices on which to set the normal.

Param in_normal

The normal to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexParametersByList (ulong[] in_vertices, float[] in_params)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters.

Param in_params

The texture parameters to set on the vertices for this MeshKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexParametersByList (ulong[] in_vertices, float[] in_params, ulong in_param_width)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters.

Param in_params

The texture parameters to set on the vertices for this MeshKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexParametersByRange (ulong in_start, float[] in_params)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start setting texture parameters.

Param in_params

The texture parameters to set on the vertices for this MeshKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexParametersByRange (ulong in_start, float[] in_params, ulong in_param_width)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start setting texture parameters.

Param in_params

The texture parameters to set on the vertices for this MeshKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color, HPS.Mesh.Component in_apply_to)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors.

Param in_rgba_colors

The RGBA colors to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKey at which to start setting colors.

Param in_rgba_colors

The RGBA colors to set on the vertices for this MeshKit.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color, HPS.Mesh.Component in_apply_to)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices for this MeshKit.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Mesh.Component in_apply_to)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified mesh component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified mesh component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Mesh.Component in_apply_to)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the vertices for this MeshKit.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Mesh.Component in_apply_to)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices for this MeshKit.

Param in_apply_to

The mesh component the colors should apply to. Defaults to Mesh.Component.Faces.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexVisibilitiesByList (ulong[] in_vertices, bool in_visibility)

Sets a single visibility on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the visibility.

Param in_visibility

The visibility to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexVisibilitiesByList (ulong[] in_vertices, bool[] in_visibilities)

Sets vertex visibilities on a selection of arbitrary vertices. If the sizes of the vertex index and visibility arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the visibilities.

Param in_visibilities

The visibilities to set on the vertices.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start setting visibilities.

Param in_visibilities

The visibilities to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit SetVertexVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start setting the visibility.

Param in_count

The number of vertices on which to set the visibility.

Param in_visibility

The visibility to set on the vertices for this MeshKit.

Return

A reference to this MeshKit.

void Show (out HPS.MeshKit out_kit)

Copies this MeshKit into the given MeshKit.

Param out_kit

The MeshKit to populate with the contents of this MeshKit.

bool ShowColumns (out ulong out_columns)

Shows the number of columns for this MeshKit.

Param out_columns

The number of columns for this MeshKit.

Return

true if a number of columns was set, false otherwise.

bool ShowEdgeColors (out ulong[] out_vertices1, out ulong[] out_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param out_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed.

Param out_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is MaterialIndex.

Return

A reference to this MeshKit.

bool ShowEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.MaterialIndex.

Return

A reference to this MeshKit.

bool ShowEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, out bool[] out_validities, out bool[] out_visibilities)

Shows all the edge visibilities on this ShellKey.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_validities

The validities of the visibilities for each edge. If an edge has a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The edge visibilities for each edge. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowFaceColors (out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows all the face colors on this MeshKit.

Param out_types

The types of face colors for each face. If a face does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face had a face color set, false otherwise.

bool ShowFaceColorsByList (ulong[] in_faces, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a selection of arbitrary faces. The order of the values in the ouput arrays is the same as the input face index array, i.e., the values of out_types[i], out_rgb_colors[i], and out_indices[i], correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the colors.

Param out_types

The types of face colors for each face at the specified index. If a face at a specified index does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified face had a face color set, false otherwise.

bool ShowFaceColorsByRange (ulong in_start, ulong in_count, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start showing colors.

Param in_count

The number of colors to show.

Param out_types

The types of face colors for each face in the specified range. If a face in the specified range does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face in the specified range had a face color set, false otherwise.

bool ShowFaceNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the all face normals on this MeshKit.

Param out_validities

The validities of the normals for each face. If a face had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face had a face normal set, false otherwise.

bool ShowFaceNormalsByList (ulong[] in_faces, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face normal set, false otherwise.

bool ShowFaceNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start showing normals.

Param in_count

The number of normals to show.

Param out_validities

The validities of the normals for each face in the specified range. If a face in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face normal set, false otherwise.

bool ShowFaceVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the face visibilities on this MeshKit.

Param out_validities

The validities of the visibilities for each face. If a face had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByList (ulong[] in_faces, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start showing visibilities.

Param in_count

The number of visibilities to show.

Param out_validities

The validities of the visibilities for each face in the specified range. If a face in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face visibility set, false otherwise.

bool ShowMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the material mappings set on this MeshKit. These are the “global” material settings, not the per-vertex and per-face material settings.

Param out_kit

The material mappings set on this MeshKit.

Return

true if material mappings were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the points for this MeshKit.

Param out_points

The points for this MeshKit.

Return

true if points were set, false otherwise.

bool ShowPoints (out ulong out_rows, out ulong out_columns, out HPS.Point[] out_points)

Shows the number of rows, number of columns, and points for this MeshKit.

Param out_rows

The number of rows for this MeshKit.

Param out_columns

The number of columns for this MeshKit.

Param out_points

The points for this MeshKit.

Return

true if a number of rows, a number of columns, and points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this MeshKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this MeshKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this MeshKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this MeshKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowRows (out ulong out_rows)

Shows the number of rows for this MeshKit.

Param out_rows

The number of rows for this MeshKit.

Return

true if a number of rows was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

bool ShowVertexColors (HPS.Mesh.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows all the vertex colors on the specified mesh component.

Param in_apply_to

The mesh component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified mesh component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Mesh.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified mesh component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], out_rgba_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors.

Param in_apply_to

The mesh component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex at the specified index. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Mesh.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified mesh component.

Param in_start

The offset into the vertices for this MeshKit at which to start showing colors.

Param in_count

The number of colors to show.

Param in_apply_to

The mesh component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified mesh component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex in the specified range. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

bool ShowVertexNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows all the vertex normals on this MeshKit.

Param out_validities

The validities of the normals for each vertex. If a vertex had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex normals were shown, false otherwise.

bool ShowVertexNormalsByList (ulong[] in_vertices, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex normal set, false otherwise.

bool ShowVertexNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start showing normals.

Param in_count

The number of normals to show.

Param out_validities

The validities of the normals for each vertex in the specified range. If a vertex in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex normal set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params)

Shows the texture parameters for all of the vertices starting in this MeshKit. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters for all of the vertices starting in this MeshKit.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a selection of arbitrary vertices. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_vertices.size(). The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a selection of arbitrary vertices. The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a range of vertices starting at the specified offset. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param in_start

The offset into the vertices for this MeshKit at which to start showing texture parameters.

Param in_count

The number of vertices for which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start showing texture parameters.

Param in_count

The number of vertices for which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the vertex visibilities on this MeshKit.

Param out_validities

The validities of the visibilities for each vertex. If a vertex had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByList (ulong[] in_vertices, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start showing visibilities.

Param in_count

The number of visibilities to show.

Param out_validities

The validities of the visibilities for each vertex in the specified range. If a vertex in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex visibility set, false otherwise.

HPS.MeshKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.MeshKit UnsetColumns ()

Removes the number of columns for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetEdgeColors ()

Unsets edge colors on all edges.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetEdgeEverything ()

Removes all edge settings (edge colors and edge visibilities) from this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetEdgeVisibilities ()

Removes all edge visibilities.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetEverything ()

Removes all settings from this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceColors ()

Removes all face colors (RGB colors or material indices).

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of face colors (RGB colors or material indices) starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start removing colors.

Param in_count

The number of face colors to unset for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceEverything ()

Removes all face settings (face colors, face normals, and face visibilities) from this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceNormals ()

Removes all face normals.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceNormalsByList (ulong[] in_vertices)

Removes the face normals on a selection of arbitrary faces.

Param in_vertices

The indices of the faces on which to remove the normals.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of face normals starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start removing normals.

Param in_count

The number of face normals to unset for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceVisibilities ()

Removes all face visibilities.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetFaceVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of face visibilities starting at the specified offset.

Param in_start

The offset into the faces for this MeshKit at which to start removing visibilities.

Param in_count

The number of face visibilities to unset for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetMaterialMapping ()

Removes all material mappings on this MeshKey. This removes the “global” material settings and does not affect per-vertex or per-face materials.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetPoints ()

Removes the points for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.MeshKit UnsetRows ()

Removes the number of rows for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.MeshKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

HPS.MeshKit UnsetVertexColors ()

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for all mesh components.

Return

A reference to this MeshKey.

HPS.MeshKit UnsetVertexColors (HPS.Mesh.Component in_apply_to)

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for the specified mesh component.

Param in_apply_to

The mesh component for which to remove the colors.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for all mesh components on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexColorsByList (ulong[] in_vertices, HPS.Mesh.Component in_apply_to)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for the specificed mesh component on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Param in_apply_to

The mesh component for which to remove the colors.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for all mesh components starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start removing colors.

Param in_count

The number of vertex colors to unset for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Mesh.Component in_apply_to)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for the specified mesh component starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start removing colors.

Param in_count

The number of vertex colors to unset for this MeshKit.

Param in_apply_to

The mesh component for which to remove the colors.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexEverything ()

Removes all vertex settings (vertex colors, vertex normals, texture parameters, and vertex visibilities) from this MeshKey.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexNormals ()

Removes all vertex normals.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexNormalsByList (ulong[] in_vertices)

Removes the vertex normals on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the normals.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex normals starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start removing normals.

Param in_count

The number of vertex normals to unset for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexParameters ()

Removes all texture parameters.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexParametersByList (ulong[] in_vertices)

Removes the texture parameters on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the texture parameters.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexParametersByRange (ulong in_start, ulong in_count)

Removes the specified range of texture parameters starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start removing texture parameters.

Param in_count

The number of texture parameters to unset for this MeshKit.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexVisibilities ()

Removes all vertex visibilities.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexVisibilitiesByList (ulong[] in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Return

A reference to this MeshKit.

HPS.MeshKit UnsetVertexVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex visibilities starting at the specified offset.

Param in_start

The offset into the vertices for this MeshKit at which to start removing visibilities.

Param in_count

The number of vertex visibilities to unset for this MeshKit.

Return

A reference to this MeshKit.

class ModellingMatrixControl : public HPS.Control

The ModellingMatrixControl class is a smart pointer that is tied to a database object. This control gives you access to a segment’s modelling matrix. You can set an entire matrix or individual elements. Additionally, this class provides a small set of utility methods for all the basic transformations, as well as getting the matrix adjoint and determinant. Elements of modelling matrices are in row-major order.

Public Functions

HPS.ModellingMatrixControl Adjoint ()

Replaces this matrix with it’s matrix adjoint. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.

Return

A reference to this object.

HPS.ModellingMatrixControl Concatenate (HPS.MatrixKit in_kit)

Replaces this matrix with the matrix product of itself multiplied by another matrix.

Param in_kit

the right side operand of the matrix multiplication.

Return

A reference to this object.

HPS.ModellingMatrixControl Invert ()

Replaces this matrix with it’s matrix inverse. If this matrix is singular (determinant = 0), it will be unchanged.

Return

A reference to this object.

ModellingMatrixControl (HPS.ModellingMatrixControl in_that)

Initializes a control tied to the same object as in_that.

ModellingMatrixControl (HPS.ReferenceKey in_ref)

Initializes a control tied to the geometry reference in_ref.

ModellingMatrixControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

HPS.ModellingMatrixControl Normalize ()

Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.

Return

A reference to this object.

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.

HPS.ModellingMatrixControl Rotate (float in_x, float in_y, float in_z)

Concatenates a rotation matrix to this matrix with rotation around the primary axes.

Param in_x

The number of degrees to rotate around the x-axis.

Param in_y

The number of degrees to rotate around the y-axis.

Param in_z

The number of degrees to rotate around the z-axis.

Return

A reference to this object.

HPS.ModellingMatrixControl RotateOffAxis (HPS.Vector in_vector, float in_theta)

Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector.

Param in_vector

The vector to rotate around.

Param in_theta

the number of degrees to rotate around the specified vector

Return

A reference to this object.

HPS.ModellingMatrixControl Scale (float in_x, float in_y, float in_z)

Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene.

Param in_x

The scale multiplier along the x-axis.

Param in_y

The scale multiplier along the y-axis.

Param in_z

The scale multiplier along the z-axis.

Return

A reference to this object.

HPS.ModellingMatrixControl Set (HPS.MatrixKit in_matrix)

Copies all settings from the source MatrixKit into this object.

Param in_matrix

The source MatrixKit to copy.

HPS.ModellingMatrixControl SetElement (ulong in_ordinal_zero_to_fifteen, float in_value)

Sets a single matrix element, indexed as a linear array in row-major order.

Param in_ordinal_zero_to_fifteen

The offset into the matrix. Valid range is [0, 15].

Param in_value

The matrix element.

Return

A reference to this object.

HPS.ModellingMatrixControl SetElement (ulong in_row, ulong in_column, float in_value)

Sets a single matrix element.

Param in_row

The row index. Valid range is [0, 3].

Param in_column

The column index. Valid range is [0, 3].

Param in_value

The matrix element.

Return

A reference to this object.

HPS.ModellingMatrixControl SetElements (float[] in_values)

Sets some or all elements in the matrix from an array, starting with the first element.

Param in_values

An array of float values in row-major order that should replace the values in the matrix.

Return

A reference to this object.

bool Show (out HPS.MatrixKit out_matrix)

Copies all settings from this control into the given MatrixKit.

Param out_matrix

The MatrixKit to populate with the contents of this object.

bool ShowAdjoint (out HPS.MatrixKit out_matrix)

Computes the matrix adjoint of this matrix. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.

Param out_matrix

The matrix adjoint of this matrix.

Return

true if the setting is valid, false otherwise.

bool ShowDeterminant (out float out_determinant)

Computes the matrix determinant of this matrix.

Param out_determinant

The matrix determinant.

Return

true if the setting is valid, false otherwise.

bool ShowElement (ulong in_ordinal_zero_to_fifteen, out float out_value)

Shows a single matrix element, indexed as a linear array in row-major order.

Param in_ordinal_zero_to_fifteen

The offset into the matrix. Valid range is [0, 15].

Param out_value

The matrix element.

Return

true if the setting is valid, false otherwise.

bool ShowElement (ulong in_row, ulong in_column, out float out_value)

Shows a single matrix element.

Param in_row

The row index. Valid range is [0, 3].

Param in_column

The column index. Valid range is [0, 3].

Param out_value

The matrix element.

Return

true if the setting is valid, false otherwise.

bool ShowElements (out float[] out_matrix)

Shows all elements of this matrix as an array.

Param out_matrix

The contents of the matrix arranged as a linear array in row-major order.

Return

true if the setting is valid, false otherwise.

bool ShowInverse (out HPS.MatrixKit out_matrix)

Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0).

Param out_matrix

The matrix inverse of this matrix.

Return

true if the setting is valid, false otherwise.

HPS.ModellingMatrixControl Translate (float in_x, float in_y, float in_z)

Concatenates a translation matrix to this matrix that moves geometry.

Param in_x

The number of units to translate along the x-axis.

Param in_y

The number of units to translate along the y-axis.

Param in_z

The number of units to translate along the z-axis.

Return

A reference to this object.

HPS.ModellingMatrixControl Translate (HPS.Vector in_translation)

Concatenates a translation matrix to this matrix that moves geometry.

Param in_translation

A vector distance to translate by.

Return

A reference to this object.

HPS.ModellingMatrixControl UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

struct ModifierKeys

Public Functions

bool Alt ()

Indicates whether any alt key (right or left) is active.

Return

true if any alt key is active, false otherwise.

void Alt (bool in_state)

Sets the state of the alt key modifier

Param in_state

true if at least one alt key (right or left) is active, false otherwise.

bool CapsLock ()

Indicates whether the caps lock button is active

Return

true if the caps lock key is active, false otherwise.

void CapsLock (bool in_state)

Sets the state of the caps lock key modifier

Param in_state

true if the caps lock key is active, false otherwise.

bool Control ()

Indicates whether any control key (right or left) is active.

Return

true if any control key is active, false otherwise.

void Control (bool in_state)

Sets the state of the control key modifier

Param in_state

true if at least one control key (right or left) is active, false otherwise.

bool Equals (ModifierKeys in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

override bool Equals (object obj)

Check if the source object is equivalent to this object.

Param obj

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

bool LeftAlt ()

Indicates whether the left alt button is active

Return

true if the left alt key is active, false otherwise.

void LeftAlt (bool in_state)

Sets the state of the left alt key modifier

Param in_state

true if the left alt key is active, false otherwise.

bool LeftControl ()

Indicates whether the left control button is active

Return

true if the left control key is active, false otherwise.

void LeftControl (bool in_state)

Sets the state of the left control key modifier

Param in_state

true if the left control key is active, false otherwise.

bool LeftMeta ()

Indicates whether the left meta button is active

Return

true if the left meta key is active, false< /span> otherwise.

void LeftMeta (bool in_state)

Sets the state of the left meta key modifier

Param in_state

true if the left meta key is active, false otherwise.

bool LeftShift ()

Indicates whether the left shift button is active

Return

true if the left shift key is active, false otherwise.

void LeftShift (bool in_state)

Sets the state of the left shift key modifier

Param in_state

true if the left shift key is active, false otherwise.

bool Meta ()

Indicates whether any meta key (right or left) is active.

Return

true if any meta key is active, false otherwise.

void Meta (bool in_state)

Sets the state of the meta key modifier

Param in_state

true if at least one meta key (right or left) is active, false otherwise.

ModifierKeys (ModifierKeys other)

The default constructor creates a ModifierKeys object with no modifiers active.

bool None ()

Indicates whether no modifiers are active.

Return

true if no modifier keys are active, false otherwise.

bool NumLock ()

Indicates whether the num lock button is active

Return

true if the num lock key is active, false otherwise.

void NumLock (bool in_state)

Sets the state of the num lock key modifier

Param in_state

true if the num lock key is active, false otherwise.

bool RightAlt ()

Indicates whether the right alt button is active

Return

true if the right alt key is active, false otherwise.

void RightAlt (bool in_state)

Sets the state of the right alt key modifier

Param in_state

true if the right alt key is active, false otherwise.

bool RightControl ()

Indicates whether the right control button is active

Return

true if the right control key is active, false otherwise.

void RightControl (bool in_state)

Sets the state of the right control key modifier

Param in_state

true if the right control key is active, false otherwise.

bool RightMeta ()

Indicates whether the right meta button is active

Return

true if the right meta key is active, false< /span> otherwise.

void RightMeta (bool in_state)

Sets the state of the right meta key modifier

Param in_state

true if the right meta key is active, false otherwise.

bool RightShift ()

Indicates whether the right shift button is active

Return

true if the right shift key is active, false otherwise.

void RightShift (bool in_state)

Sets the state of the right shift key modifier

Param in_state

true if the right shift key is active, false otherwise.

bool ScrollLock ()

Indicates whether the scroll lock button is active

Return

true if the scroll lock key is active, false otherwise.

void ScrollLock (bool in_state)

Sets the state of the scroll lock key modifier

Param in_state

true if the scroll lock key is active, false otherwise.

bool Shift ()

Indicates whether any shift key (right or left) is active.

Return

true if any shift key is active, false otherwise.

void Shift (bool in_state)

Sets the state of the shift key modifier

Param in_state

true if at least one shift key (right or left) is active, false otherwise.

Public Static Functions

ModifierKeys KeyAlt ()

Creates a new ModifierKeys object with the alt key active. Use this function if your application does not need to differentiate between left and right alt buttons

Return

A new ModifierKeys object with the alt key active.

ModifierKeys KeyCapsLock ()

Creates a new ModifierKeys object with the caps lock key active.

Return

A new ModifierKeys object with the caps lock key active.

ModifierKeys KeyControl ()

Creates a new ModifierKeys object with the control key active. Use this function if your application does not need to differentiate between left and right control buttons

Return

A new ModifierKeys object with the control key active.

ModifierKeys KeyLeftAlt ()

Creates a new ModifierKeys object with the left alt key active.

Return

A new ModifierKeys object with the left alt key active.

ModifierKeys KeyLeftControl ()

Creates a new ModifierKeys object with the left control key active.

Return

A new ModifierKeys object with the left control key active.

ModifierKeys KeyLeftMeta ()

Creates a new ModifierKeys object with the left meta key active.

Return

A new ModifierKeys object with the left meta key active.

ModifierKeys KeyLeftShift ()

Creates a new ModifierKeys object with the left shift key active.

Return

A new ModifierKeys object with the left shift key active.

ModifierKeys KeyMeta ()

Creates a new ModifierKeys object with the meta key active. Use this function if your application does not need to differentiate between left and right meta buttons

Return

A new ModifierKeys object with the meta key active.

ModifierKeys KeyNumLock ()

Creates a new ModifierKeys object with the num lock key active.

Return

A new ModifierKeys object with the num lock key active.

ModifierKeys KeyRightAlt ()

Creates a new ModifierKeys object with the right alt key active.

Return

A new ModifierKeys object with the right alt key active.

ModifierKeys KeyRightControl ()

Creates a new ModifierKeys object with the right control key active.

Return

A new ModifierKeys object with the right control key active.

ModifierKeys KeyRightMeta ()

Creates a new ModifierKeys object with the right meta key active.

Return

A new ModifierKeys object with the right meta key active.

ModifierKeys KeyRightShift ()

Creates a new ModifierKeys object with the right shift key active.

Return

A new ModifierKeys object with the right shift key active.

ModifierKeys KeyScrollLock ()

Creates a new ModifierKeys object with the scroll lock key active.

Return

A new ModifierKeys object with the scroll lock key active.

ModifierKeys KeyShift ()

Creates a new ModifierKeys object with the shift key active. Use this function if your application does not need to differentiate between left and right shift buttons

Return

A new ModifierKeys object with the shift key active.

bool operator!= (ModifierKeys b1, ModifierKeys b2)

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

Param b1

The source object to compare to this object.

Param b2

The source object to compare to this object.

Return

true if the objects are not equivalent, false otherwise.

ModifierKeys operator+ (ModifierKeys b1, ModifierKeys b2)

Merges the buttons from two ModifierKeys objects.

Param b1

A collection of modifiers to merge with the modifiers of parameter b2.

Param b2

A collection of modifiers to merge with the modifiers of parameter b1.

Return

A new ModifierKeys object.

ModifierKeys operator- (ModifierKeys b1, ModifierKeys b2)

Creates a new ModifierKeys object representing the removal of the modifiers of another ModifierKeys object from this object.

Param b1

A collection of modifiers to remove from those of parameter b2.

Param b2

A collection of modifiers to remove from those of parameter b1.

Return

A new ModifierKeys object.

bool operator== (ModifierKeys b1, ModifierKeys b2)

Check if the source object is equivalent to this object.

Param b1

The first object to compare

Param b2

The second object to compare

Return

true if the objects are equivalent, false otherwise.

struct MouseButtons
class MouseEvent : public HPS.InputEvent

The MouseEvent class is the event generated for each mouse action.

Public Types

enum Action

Enumeration of various actions a mouse can undergo for a MouseEvent.

Values:

ButtonUp
ButtonDown

A mouse button has been released.

Move

A mouse button has been pressed.

Scroll

The mouse location has changed.

Enter

The scroll wheel has been moved.

Leave

The mouse cursor has moved into the active window.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this MouseEvent.

Return

A copy of this MouseEvent.

override bool Drop (HPS.Event in_that_event)

Determines if this MouseEvent can be dropped in favor of the following mouse event.

Param in_that_event

Event to compare with this MouseEvent.

Return

true if this event can be dropped, false otherwise.

override bool Equals (HPS.InputEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

bool Equals (HPS.MouseEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

override IntPtr Freshen ()

This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available.

Return

A cookie representing the freshen category. Zero indicates a non-freshening event.

MouseEvent ()

The default constructor creates an uninitialized MouseEvent object.

MouseEvent (HPS.Event in_event)

This constructor converts an EventObject to a MouseEvent object.

Param in_event

The EventObject to be converted.

MouseEvent (HPS.MouseEvent.Action in_action, float in_wheel_delta)

This constructor creates a MouseEvent object, most useful for a wheel action.

Param in_action

Action of the mouse for this MouseEvent.

Param in_wheel_delta

If the action involves the mouse wheel, this is the amount the wheel moved. It is positive if the mouse wheel is moved forward (away from the user) or negative if the mouse wheel is moved downward (toward the user).

MouseEvent (HPS.MouseEvent.Action in_action, float in_wheel_delta, HPS.WindowPoint in_location)

This constructor creates a MouseEvent object, most useful for a wheel action.

Param in_action

Action of the mouse for this MouseEvent.

Param in_wheel_delta

If the action involves the mouse wheel, this is the amount the wheel moved. It is positive if the mouse wheel is moved forward (away from the user) or negative if the mouse wheel is moved downward (toward the user).

Param in_location

The location in window space of the mouse cursor.

MouseEvent (HPS.MouseEvent.Action in_action, float in_wheel_delta, HPS.WindowPoint in_location, HPS.ModifierKeys in_modifier)

This constructor creates a MouseEvent object, most useful for a wheel action.

Param in_action

Action of the mouse for this MouseEvent.

Param in_wheel_delta

If the action involves the mouse wheel, this is the amount the wheel moved. It is positive if the mouse wheel is moved forward (away from the user) or negative if the mouse wheel is moved downward (toward the user).

Param in_location

The location in window space of the mouse cursor.

Param in_modifier

The modifier keys for this MouseEvent.

MouseEvent (HPS.MouseEvent.Action in_action, float in_wheel_delta, HPS.WindowPoint in_location, HPS.ModifierKeys in_modifier, ulong in_click_count)

This constructor creates a MouseEvent object, most useful for a wheel action.

Param in_action

Action of the mouse for this MouseEvent.

Param in_wheel_delta

If the action involves the mouse wheel, this is the amount the wheel moved. It is positive if the mouse wheel is moved forward (away from the user) or negative if the mouse wheel is moved downward (toward the user).

Param in_location

The location in window space of the mouse cursor.

Param in_modifier

The modifier keys for this MouseEvent.

Param in_click_count

The number of clicks received.

MouseEvent (HPS.MouseEvent.Action in_action, HPS.WindowPoint in_location)

This constructor creates a MouseEvent object for a given action.

Param in_action

Action of this MouseEvent.

Param in_location

The location in window space of the mouse cursor.

MouseEvent (HPS.MouseEvent.Action in_action, HPS.WindowPoint in_location, HPS.MouseButtons in_button)

This constructor creates a MouseEvent object for a given action.

Param in_action

Action of this MouseEvent.

Param in_location

The location in window space of the mouse cursor.

Param in_button

If the action is a button event, this is the button.

MouseEvent (HPS.MouseEvent.Action in_action, HPS.WindowPoint in_location, HPS.MouseButtons in_button, HPS.ModifierKeys in_modifier)

This constructor creates a MouseEvent object for a given action.

Param in_action

Action of this MouseEvent.

Param in_location

The location in window space of the mouse cursor.

Param in_button

If the action is a button event, this is the button.

Param in_modifier

The modifier keys for this MouseEvent.

MouseEvent (HPS.MouseEvent.Action in_action, HPS.WindowPoint in_location, HPS.MouseButtons in_button, HPS.ModifierKeys in_modifier, ulong in_click_count)

This constructor creates a MouseEvent object for a given action.

Param in_action

Action of this MouseEvent.

Param in_location

The location in window space of the mouse cursor.

Param in_button

If the action is a button event, this is the button.

Param in_modifier

The modifier keys for this MouseEvent.

Param in_click_count

The number of clicks received.

class MouseState : public HPS.Object

The MouseState class represents the state of the mouse or similar pointer device for a particular event.

Public Functions

void Assign (HPS.MouseState in_that)

Copies the source MouseState into this MouseState.

Param in_that

The source MouseState to copy.

bool Equals (HPS.MouseState in_that)

Check if the source MouseState is equivalent to this MouseState.

Return

true if the objects are equivalent, false otherwise.

HPS.MouseEvent GetActiveEvent ()

Get the active event for this MouseState. This will throw an exception if there is no active action for this MouseState.

Return

The action for this MouseState.

HPS.MouseButtons GetButtons ()

Get the current state of the mouse buttons immediately after the active event.

Return

The state of the mouse buttons.

HPS.Key[] GetEventPath ()

Get the relevant list of keys up to the window which had focus when the mouse represented by this MouseState underwent the active action. This will throw an exception if there is no event path for this MouseState.

Return

The relevant list of keys up to the window which had focus when the mouse event represented by this MouseState underwent the active action.

HPS.WindowKey GetEventSource ()

Get the window which had focus when the mouse represented by this MouseState underwent the active action. This will throw an exception if there is no event source for this MouseState.

Return

The window which had focus when the mouse represented by this MouseState underwent the active action.

HPS.WindowPoint GetLocation ()

Get the current mouse position.

Return

The location, in window space of the mouse cursor.

HPS.ModifierKeys GetModifierKeys ()

Get an object representing the state of modifier keys for this MouseState.

Return

An object representing the state of modifier keys.

bool HasAll (HPS.MouseButtons in_mouse_trigger, HPS.ModifierKeys in_modifier_trigger)

Checks if this MouseState has all of the specified properties.

Param in_mouse_trigger

The mouse button properties to test for.

Param in_modifier_trigger

The modifier keys properties to test for.

Return

true if this MouseState has all of the specified properties, false otherwise.

MouseState ()

The default constructor creates an empty MouseState object.

MouseState (HPS.MouseState in_that)

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

Param in_that

The source MouseState to copy.

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.Key[] in_path, HPS.MouseEvent in_event, HPS.WindowPoint in_point)

Sets the properties of this MouseState.

Param in_path

The list of keys up to the window which had focus for this mouse event.

Param in_event

The mouse event.

Param in_point

The location, in window space of the mouse cursor for this mouse event.

void Set (HPS.Key[] in_path, HPS.MouseEvent in_event, HPS.WindowPoint in_point, HPS.MouseButtons in_buttons)

Sets the properties of this MouseState.

Param in_path

The list of keys up to the window which had focus for this mouse event.

Param in_event

The mouse event.

Param in_point

The location, in window space of the mouse cursor for this mouse event.

Param in_buttons

The state of the mouse buttons immediately after this mouse event.

void Set (HPS.Key[] in_path, HPS.MouseEvent in_event, HPS.WindowPoint in_point, HPS.MouseButtons in_buttons, HPS.ModifierKeys in_modifiers)

Sets the properties of this MouseState.

Param in_path

The list of keys up to the window which had focus for this mouse event.

Param in_event

The mouse event.

Param in_point

The location, in window space of the mouse cursor for this mouse event.

Param in_buttons

The state of the mouse buttons immediately after this mouse event.

Param in_modifiers

The state of modifier keys for this mouse event.

void SetActiveEvent (HPS.MouseEvent in_event)

Sets the active event for this MouseState.

Param in_event

The action for this MouseState.

void SetButtons (HPS.MouseButtons in_buttons)

Sets the current state of the mouse buttons immediately after the active event.

Param in_buttons

The state of the mouse buttons.

void SetEventPath (HPS.Key[] in_path)

Sets the relevant list of keys up to the window which had focus for this mouse event.

Param in_path

The relevant list of keys up to the window which had focus when the mouse event represented by this MouseState underwent the active action.

void SetLocation (HPS.WindowPoint in_point)

Sets the current mouse position.

Param in_point

The location, in window space of the mouse cursor.

void SetModifierKeys (HPS.ModifierKeys in_modifiers)

Sets an object representing the state of modifier keys for this MouseState.

Param in_modifiers

An object representing the state of modifier keys.

class NamedStyleDefinition : public HPS.Definition

The NamedStyleDefinition class is a smart pointer to a database object. It is a handle to a named style defined within a portfolio.

Public Functions

HPS.SegmentKey GetSource ()

Get the source segment for this NamedStyleDefinition.

Return

The source segment for this NamedStyleDefinition. This is the segment that contains attributes that are associated with this named style.

NamedStyleDefinition ()

The default constructor creates an uninitialized NamedStyleDefinition object. The Type() function will return Type.None.

NamedStyleDefinition (HPS.Definition in_that)

This constructor creates a NamedStyleDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a named style definition. Otherwise the copy will fail and the resulting NamedStyleDefinition will be invalid.

Param in_that

The source Definition to copy.

NamedStyleDefinition (HPS.NamedStyleDefinition in_that)

The copy constructor creates a NamedStyleDefinition object that shares the underlying smart-pointer of the source NamedStyleDefinition.

Param in_that

The source NamedStyleDefinition to copy.

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.

class NamedStyleDefinitionArray : public HPS::InternalHPSArray<HPS.NamedStyleDefinition>
class NURBSCurveKey : public HPS.GeometryKey

The NURBSCurveKey class is a smart pointer to a database object. It is a handle to a NURBS curve inserted via SegmentKey.InsertNURBSCurve.

Public Functions

void Consume (HPS.NURBSCurveKit in_kit)

Completely replaces all settings on this NURBSCurveKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this NURBSCurveKey.

HPS.NURBSCurveKey EditKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots for this NURBSCurveKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS curve was inserted.

Param in_offset

The offset into the knots for this NURBS curve at which to start replacing knots. This value must be such that in_offset<control_point_count+degree+1 for replacement to succeed.

Param in_knots

The knots to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=control_point_count+degree+1 for the replacement to succeed.

Return

A reference to this NURBSCurveKey.

HPS.NURBSCurveKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces control points for this NURBSCurveKey.

Param in_offset

The offset into the control points for this NURBS curve at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed.

Param in_points

The points to use to replace those in the control point list at the specified offset. The size of the array must be such that such that in_offset+in_points.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSCurveKey.

HPS.NURBSCurveKey EditWeightsByReplacement (ulong in_offset, float[] in_weights)

Replaces control point weights for this NURBSCurveKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS curve was inserted.

Param in_offset

The offset into the control point weights for this NURBS curve at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed.

Param in_weights

The weights to use to replace those in the control point weight list at the specified offset. The size of the array must be such that such that in_offset+in_weights.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSCurveKey.

ulong GetPointCount ()

Retrieves the number of points in this NURBS curve.

Return

The number of points in this NURBS curve.

NURBSCurveKey ()

The default constructor creates an uninitialized NURBSCurveKey object. The Type() function will return Type.None.

NURBSCurveKey (HPS.Key in_that)

This constructor creates a NURBSCurveKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a NURBSCurve key. Otherwise the copy will fail and the resulting NURBSCurveKey will be invalid.

NURBSCurveKey (HPS.NURBSCurveKey in_that)

The copy constructor creates a NURBSCurveKey object that shares the underlying smart-pointer of the source NURBSCurveKey.

Param in_that

The source NURBSCurveKey to copy.

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

Replace those settings on this NURBSCurveKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this NURBSCurveKey.

HPS.NURBSCurveKey SetParameters (float in_start, float in_end)

Sets the normalized start and end parameters for this NURBSCurveKey.

Param in_start

The start parameter. This value should be in the range [0,1] and should be defined such that in_start<=in_end.

Param in_end

The end parameter. This value should be in the range [0,1] and should be defined such that in_start<=in_end.

Return

A reference to this NURBSCurveKey.

void Show (out HPS.NURBSCurveKit out_kit)

Copy the contents of this NURBSCurveKey into the specified kit.

Param out_kit

The kit to populate with the contents of this NURBSCurveKey.

bool ShowDegree (out ulong out_degree)

Shows the degree of this NURBSCurveKey.

Param out_degree

The degree of this NURBSCurveKey.

Return

true if a degree was set, false otherwise.

bool ShowKnots (out float[] out_knots)

Shows the knots for this NURBSCurveKey.

Param out_knots

The knots for this NURBSCurveKey.

Return

true if knots were set, false otherwise.

bool ShowParameters (out float out_start, out float out_end)

Shows the normalized start and end parameters for this NURBSCurveKey.

Param out_start

The normalized start parameter for this NURBSCurveKey.

Param out_end

The normalized end parameter for this NURBSCurveKey.

Return

true if start and end parameters were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the control points for this NURBSCurveKey.

Param out_points

The control points for this NURBSCurveKey.

Return

true if control points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this NURBSCurveKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this NURBSCurveKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this NURBSCurveKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this NURBSCurveKey.

Return

true if all requested points were set, false otherwise.

bool ShowWeights (out float[] out_weights)

Shows the control point weights for this NURBSCurveKey.

Param out_weights

The control point weights for this NURBSCurveKey.

Return

true if control point weights were set, false otherwise.

class NURBSCurveKit : public HPS.Kit

The NURBSCurveKit class is a user space object. It is a kit analog to a NURBSCurveKey.

Public Functions

void Consume (HPS.NURBSCurveKit in_kit)

Copies the source NURBSCurveKit into this NURBSCurveKit and resets the source kit.

Param in_kit

The source NURBSCurveKit to consume.

HPS.NURBSCurveKit EditKnotsByDeletion (ulong in_offset, ulong in_count)

Removes knots for this NURBSCurveKit. This will allow modification of the default knots if no explicit knots are set if possible.

Param in_offset

The offset into the knots for the NURBSCurveKit at which to start removing knots. This value must be such that in_offset<control_point_count+degree+1 for deletion to succeed.

Param in_count

The number of knots to delete for the NURBSCurveKit. This value must be such that in_offset+in_count<=control_point_count+degree+1 for the deletion to succeed.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditKnotsByInsertion (ulong in_offset, float[] in_knots)

Adds knots for this NURBSCurveKit. This will allow modification of the default knots if no explicit knots are set if possible.

Param in_offset

The offset into the knots the NURBSCurveKit at which to insert knots. This value must be such that in_offset<control_point_count+degree+1 for insertion to succeed.

Param in_knots

The knots to insert at the specified offset.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots for this NURBSCurveKit. This will allow modification of the default knots if no explicit knots are set if possible.

Param in_offset

The offset into the knots for the NURBSCurveKit at which to replace knots. This value must be such that in_offset<control_point_count+degree+1 for the replacement to succeed.

Param in_knots

The knots to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=control_point_count+degree+1 for the replacement to succeed.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the control point list for this NURBSCurveKit.

Param in_offset

The offset into the control point list for the NURBSCurveKit at which to start removing points. This value must be such that in_offset<control_point_count for deletion to succeed.

Param in_count

The number of points to delete from the control point list for the NURBSCurveKit. This value must be such that in_offset+in_count<=control_point_count for the deletion to succeed.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the control point list for this NURBSCurveKit.

Param in_offset

The offset into the control point list for the NURBSCurveKit at which to insert points. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_points

The points to insert into the control point list at the specified offset.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces control points for this NURBSCurveKit.

Param in_offset

The offset into the control point list for the NURBSCurveKit at which to replace points. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_points

The points to use to replace those in the control point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditWeightsByDeletion (ulong in_offset, ulong in_count)

Removes weights from the control point weight list for this NURBSCurveKit. This will allow modification of the default control point weights if no explicit weights are set if possible.

Param in_offset

The offset into the control point weight list for the NURBSCurveKit at which to start removing weights. This value must be such that in_offset<control_point_count for deletion to succeed.

Param in_count

The number of weights to delete from the control point weight list for the NURBSCurveKit. This value must be such that in_offset+in_count<=weight_count for the deletion to succeed.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditWeightsByInsertion (ulong in_offset, float[] in_weights)

Adds weights to the control point weight list for this NURBSCurveKit. This will allow modification of the default control point weights if no explicit weights are set if possible.

Param in_offset

The offset into the control point weight list for the NURBSCurveKit at which to insert weights. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_weights

The weights to insert into the control point weight list at the specified offset.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit EditWeightsByReplacement (ulong in_offset, float[] in_weights)

Replaces control point weights for this NURBSCurveKit. This will allow modification of the default control point weights if no explicit weights are set if possible.

Param in_offset

The offset into the control point weight list for the NURBSCurveKit at which to replace weights. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_weights

The weights to use to replace those in the control point weight list at the specified offset. This size of the array must be such that in_offset+in_weights.size()<=weight_count for the replacement to succeed.

Return

A reference to this NURBSCurveKit.

override bool Empty ()

Indicates whether this NURBSCurveKit has any values set on it.

Return

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

bool Equals (HPS.NURBSCurveKit in_kit)

Check if the source NURBSCurveKit is equivalent to this NURBSCurveKit.

Param in_kit

The source NURBSCurveKit to compare to this NURBSCurveKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPointCount ()

Retrieves the number of points in this NURBS curve.

Return

The number of points in this NURBS curve.

NURBSCurveKit ()

The default constructor creates an empty NURBSCurveKit object.

NURBSCurveKit (HPS.NURBSCurveKit in_kit)

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

Param in_kit

The source NURBSCurveKit to copy.

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

Copies the source NURBSCurveKit into this NURBSCurveKit.

Param in_kit

The source NURBSCurveKit to copy.

HPS.NURBSCurveKit SetDegree (ulong in_degree)

Sets the degree of the NURBSCurveKit.

Param in_degree

The degree of the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit SetKnots (float[] in_knots)

Sets the knots for the NURBSCurveKit.

Param in_knots

The knots for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit SetParameters (float in_start, float in_end)

Sets the normalized start and end parameters for the NURBSCurveKit.

Param in_start

The normalized start parameter for the NURBSCurveKit.

Param in_end

The normalized end parameter for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit SetPoints (HPS.Point[] in_points)

Sets the control points for the NURBSCurveKit.

Param in_points

The control points for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the NURBSCurveKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.NURBSCurveKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.NURBSCurveKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.NURBSCurveKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

HPS.NURBSCurveKit SetWeights (float[] in_weights)

Sets the control point weights for the NURBSCurveKit.

Param in_weights

The control point weights for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

void Show (out HPS.NURBSCurveKit out_kit)

Copies this NURBSCurveKit into the given NURBSCurveKit.

Param out_kit

The NURBSCurveKit to populate with the contents of this NURBSCurveKit.

bool ShowDegree (out ulong out_degree)

Shows the degree of this NURBSCurveKit.

Param out_degree

The degree of this NURBSCurveKit.

Return

true if a degree was set, false otherwise.

bool ShowKnots (out float[] out_knots)

Shows the knots for this NURBSCurveKit.

Param out_knots

The knots for this NURBSCurveKit.

Return

true if knots were set, false otherwise.

bool ShowParameters (out float out_start, out float out_end)

Shows the normalized start and end parameters for this NURBSCurveKit.

Param out_start

The normalized start parameter for this NURBSCurveKit.

Param out_end

The normalized end parameter for this NURBSCurveKit.

Return

true if start and end parameters were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the control points for this NURBSCurveKit.

Param out_points

The control points for this NURBSCurveKit.

Return

true if control points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this NURBSCurveKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this NURBSCurveKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this NURBSCurveKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this NURBSCurveKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

bool ShowWeights (out float[] out_weights)

Shows the control point weights for this NURBSCurveKit.

Param out_weights

The control point weights for this NURBSCurveKit.

Return

true if control point weights were set, false otherwise.

HPS.NURBSCurveKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.NURBSCurveKit UnsetDegree ()

Removes the setting for the degree of the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit UnsetEverything ()

Removes all settings from the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit UnsetKnots ()

Removes the knots for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit UnsetParameters ()

Removes the normalized start and end parameters for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit UnsetPoints ()

Removes the control points for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

HPS.NURBSCurveKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.NURBSCurveKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.NURBSCurveKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

HPS.NURBSCurveKit UnsetWeights ()

Removes the control point weights for the NURBSCurveKit.

Return

A reference to this NURBSCurveKit.

class NURBSSurfaceAttributeControl : public HPS.Control

The HPS.NURBSSurfaceAttributeControl class is a smart pointer that is tied to a database object. This object allows you to manipulate various settings related to NURBS surfaces, such as budget, angle, deviation, and width.

This table lists default values for the various segment attributes accessible from HPS.NURBSSurfaceAttributeControl.

Public Functions

NURBSSurfaceAttributeControl (HPS.NURBSSurfaceAttributeControl in_that)

Initializes a control tied to the same object as in_that.

NURBSSurfaceAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

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.

HPS.NURBSSurfaceAttributeControl SetBudget (ulong in_budget)

Sets an upper bound on the number of vertices that will be allowed in the tessellation of NURBS surfaces.

Param in_budget

The maximum number of vertices to be used in NURBS surface tessellation.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl SetMaximumAngle (float in_degrees)

Sets the largest angle allowed between the surface tangents evaluated at any two corners of a given facet. Expressed in degrees.

Param in_degrees

The maximum angle allowed between the surface tangents, in degrees.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl SetMaximumDeviation (float in_deviation)

Sets an upper bound for the distance, in object space, of the tessellation to the parametric definition of the surface. Note that since this setting is in object space, it should be set differently depending on the scale of the NURBS control points.

Param in_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the surface.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl SetMaximumTrimDeviation (float in_deviation)

Sets an upper bound for the distance, in the NURBS surface’s normalized [0..1] parametric space, of trim curve vertices from the parametric definition of the trimming curve.

Param in_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the trimming curve.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl SetMaximumWidth (float in_width)

The largest allowable length, in the NURBS surface’s normalized [0..1] parametric space, of any facet’s edge.

Param in_width

The largest allowable length of any facet’s edge. Valid range is [0, sqrt(2)].

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl SetTrimBudget (ulong in_budget)

Sets an upper bound on the number of vertices that will be allowed in the tessellation of a trim curve.

Param in_budget

The maximum number of vertices to be used in trim curve tessellation.

Return

A reference to this object.

bool ShowBudget (out ulong out_budget)

Shows the NURBS surface tessellation budget.

Param out_budget

The maximum number of vertices to be used in NURBS surface tessellation.

Return

true if the budget is valid, false otherwise.

bool ShowMaximumAngle (out float out_degrees)

Shows the largest angle allowed between the surface tangents.

Param out_degrees

The maximum angle allowed between the surface tangents, in degrees.

Return

true if the maximum angle is valid, false otherwise.

bool ShowMaximumDeviation (out float out_deviation)

Shows the upper bound of the difference between the NURBS surface and its parametric definition.

Param out_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the surface.

Return

true if the maximum deviation is valid, false otherwise.

bool ShowMaximumTrimDeviation (out float out_deviation)

Shows the upper bound of trim curve vertices from the parametric definition of the trimming curve.

Param out_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the trimming curve.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumWidth (out float out_width)

Shows the setting for the largest allowable length of any facet’s edge.

Param out_width

The largest allowable length of any facet’s edge..

Return

true if the maximum width is valid, false otherwise.

bool ShowTrimBudget (out ulong out_budget)

Shows the upper bound of vertices to be used in trim curve tessellation.

Param out_budget

The maximum number of vertices to be used in trim curve tessellation.

Return

true if the budget is valid, false otherwise.

HPS.NURBSSurfaceAttributeControl UnsetBudget ()

Unsets the NURBS surface tessellation budget. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl UnsetMaximumAngle ()

Removes the largest angle allowed between the surface tangents. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl UnsetMaximumDeviation ()

Removes the upper bound of the difference between the NURBS surface and its parametric definition. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl UnsetMaximumTrimDeviation ()

Removes the upper bound of trim curve vertices from the parametric definition of the trimming curve. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl UnsetMaximumWidth ()

Removes the setting for the largest allowable length of any facet’s edge. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.NURBSSurfaceAttributeControl UnsetTrimBudget ()

Removes the upper bound of vertices to be used in trim curve tessellation. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

class NURBSSurfaceAttributeKit : public HPS.Kit

The HPS.NURBSSurfaceAttributeKit class is a user space object that contains settings related to NURBS surfaces. Calling HPS.NURBSSurfaceAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.NURBSSurfaceAttributeKit in_kit)

Check if the source NURBSSurfaceAttributeKit is equivalent to this object.

Param in_kit

The source NURBSSurfaceAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

NURBSSurfaceAttributeKit ()

Initializes an empty kit.

NURBSSurfaceAttributeKit (HPS.NURBSSurfaceAttributeKit in_kit)

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

Param in_kit

The source object to copy.

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

Copies the source NURBSSurfaceAttributeKit into this object.

Param in_kit

The source object to copy.

HPS.NURBSSurfaceAttributeKit SetBudget (ulong in_budget)

Sets an upper bound on the number of vertices that will be allowed in the tessellation of NURBS surfaces.

Param in_budget

The maximum number of vertices to be used in NURBS surface tessellation.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit SetMaximumAngle (float in_degrees)

Sets the largest angle allowed between the surface tangents evaluated at any two corners of a given facet. Expressed in degrees.

Param in_degrees

The maximum angle allowed between the surface tangents, in degrees.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit SetMaximumDeviation (float in_deviation)

Sets an upper bound for the distance, in object space, of the tessellation to the parametric definition of the surface. Note that since this setting is in object space, it should be set differently depending on the scale of the NURBS control points.

Param in_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the surface.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit SetMaximumTrimDeviation (float in_deviation)

Sets an upper bound for the distance, in the NURBS surface’s normalized [0..1] parametric space, of trim curve vertices from the parametric definition of the trimming curve.

Param in_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the trimming curve.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit SetMaximumWidth (float in_width)

The largest allowable length, in the NURBS surface’s normalized [0..1] parametric space, of any facet’s edge.

Param in_width

The largest allowable length of any facet’s edge. Valid range is [0, sqrt(2)].

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit SetTrimBudget (ulong in_budget)

Sets an upper bound on the number of vertices that will be allowed in the tessellation of a trim curve.

Param in_budget

The maximum number of vertices to be used in trim curve tessellation.

Return

A reference to this object.

void Show (out HPS.NURBSSurfaceAttributeKit out_kit)

Copies this object into the given NURBSSurfaceAttributeKit.

Param out_kit

The NURBSSurfaceAttributeKit to populate with the contents of this object.

bool ShowBudget (out ulong out_budget)

Shows the NURBS surface tessellation budget.

Param out_budget

The maximum number of vertices to be used in NURBS surface tessellation.

Return

true if the budget is valid, false otherwise.

bool ShowMaximumAngle (out float out_degrees)

Shows the largest angle allowed between the surface tangents.

Param out_degrees

The maximum angle allowed between the surface tangents, in degrees.

Return

true if the maximum angle is valid, false otherwise.

bool ShowMaximumDeviation (out float out_deviation)

Shows the upper bound of the difference between the NURBS surface and its parametric definition.

Param out_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the surface.

Return

true if the maximum deviation is valid, false otherwise.

bool ShowMaximumTrimDeviation (out float out_deviation)

Shows the upper bound of trim curve vertices from the parametric definition of the trimming curve.

Param out_deviation

The maximum distance, in object space, of the tessellation to the parametric definition of the trimming curve.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumWidth (out float out_width)

Shows the setting for the largest allowable length of any facet’s edge.

Param out_width

The largest allowable length of any facet’s edge..

Return

true if the maximum width is valid, false otherwise.

bool ShowTrimBudget (out ulong out_budget)

Shows the upper bound of vertices to be used in trim curve tessellation.

Param out_budget

The maximum number of vertices to be used in trim curve tessellation.

Return

true if the budget is valid, false otherwise.

HPS.NURBSSurfaceAttributeKit UnsetBudget ()

Removes the NURBS surface tessellation budget.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit UnsetMaximumAngle ()

Removes the largest angle allowed between the surface tangents.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit UnsetMaximumDeviation ()

Removes the upper bound of the difference between the NURBS surface and its parametric definition.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit UnsetMaximumTrimDeviation ()

Removes the upper bound of trim curve vertices from the parametric definition of the trimming curve.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit UnsetMaximumWidth ()

Removes the setting for the largest allowable length of any facet’s edge.

Return

A reference to this object.

HPS.NURBSSurfaceAttributeKit UnsetTrimBudget ()

Removes the upper bound of vertices to be used in trim curve tessellation.

Return

A reference to this object.

Public Static Functions

HPS.NURBSSurfaceAttributeKit GetDefault ()

Creates a NURBSSurfaceAttributeKit 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 NURBSSurfaceAttributeKit with the default settings.

class NURBSSurfaceKey : public HPS.GeometryKey

The NURBSSurfaceKey class is a smart pointer to a database object. It is a handle to a NURBS surface inserted via SegmentKey.InsertNURBSSurface.

Public Functions

void Consume (HPS.NURBSSurfaceKit in_kit)

Completely replaces all settings on this NURBSSurfaceKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this NURBSSurfaceKey.

HPS.NURBSSurfaceKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces control points for this NURBSSurfaceKey.

Param in_offset

The offset into the control points for this NURBS surface at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed.

Param in_points

The points to use to replace those in the control point list at the specified offset. The size of the array must be such that such that in_offset+in_points.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSSurfaceKey.

HPS.NURBSSurfaceKey EditUKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots in the U direction for this NURBSSurfaceKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS surface was inserted.

Param in_offset

The offset into the knots in the U direction for this NURBS surface at which to start replacing knots. This value must be such that in_offset<u_count+u_degree+1 for replacement to succeed.

Param in_knots

The knots in the U direction to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=u_count+u_degree+1 for the replacement to succeed.

Return

A reference to this NURBSSurfaceKey.

HPS.NURBSSurfaceKey EditVKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots in the V direction for this NURBSSurfaceKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS surface was inserted.

Param in_offset

The offset into the knots in the V direction for this NURBS surface at which to start replacing knots. This value must be such that in_offset<v_count+v_degree+1 for replacement to succeed.

Param in_knots

The knots in the V direction to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=v_count+v_degree+1 for the replacement to succeed.

Return

A reference to this NURBSSurfaceKey.

HPS.NURBSSurfaceKey EditWeightsByReplacement (ulong in_offset, float[] in_weights)

Replaces control point weights for this NURBSSurfaceKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS surface was inserted.

Param in_offset

The offset into the control point weights for this NURBS surface at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed.

Param in_weights

The weights to use to replace those in the control point weight list at the specified offset. The size of the array must be such that such that in_offset+in_weights.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSSurfaceKey.

ulong GetPointCount ()

Retrieves the number of points in this NURBS surface.

Return

The number of points in this NURBS surface.

NURBSSurfaceKey ()

The default constructor creates an uninitialized NURBSSurfaceKey object. The Type() function will return Type.None.

NURBSSurfaceKey (HPS.Key in_that)

This constructor creates a NURBSSurfaceKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a NURBSSurface key. Otherwise the copy will fail and the resulting NURBSSurfaceKey will be invalid.

NURBSSurfaceKey (HPS.NURBSSurfaceKey in_that)

The copy constructor creates a NURBSSurfaceKey object that shares the underlying smart-pointer of the source NURBSSurfaceKey.

Param in_that

The source NURBSSurfaceKey to copy.

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

Replace those settings on this NURBSSurfaceKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this NURBSSurfaceKey.

HPS.NURBSSurfaceKey SetTrim (HPS.TrimKit in_trim)

Sets the specified trim on this NURBSSurfaceKey. These will replace any existing trims.

Param in_trim

The trim to apply to this NURBSSurfaceKey.

Return

A reference to this NURBSSurfaceKey.

HPS.NURBSSurfaceKey SetTrims (HPS.TrimKit[] in_trims)

Sets the specified trims on this NURBSSurfaceKey. These will replace any existing trims.

Param in_trims

The array of trims to apply to this NURBSSurfaceKey.

Return

A reference to this NURBSSurfaceKey.

void Show (out HPS.NURBSSurfaceKit out_kit)

Copy the contents of this NURBSSurfaceKey into the specified kit.

Param out_kit

The kit to populate with the contents of this NURBSSurfaceKey.

bool ShowPoints (out HPS.Point[] out_points)

Shows the control points for this NURBSSurfaceKey.

Param out_points

The control points for this NURBSSurfaceKey.

Return

true if control points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this NURBSSurfaceKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this NURBSSurfaceKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this NURBSSurfaceKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this NURBSSurfaceKey.

Return

true if all requested points were set, false otherwise.

bool ShowTrims (out HPS.TrimKit[] out_trims)

Shows the trims for this NURBSSurfaceKey.

Param out_trims

The trims for this NURBSSurfaceKey.

Return

true if trims were set, false otherwise.

bool ShowUCount (out ulong out_count)

Shows the number of control points in the U direction for this NURBSSurfaceKey.

Param out_count

The number of control points in the U direction for this NURBSSurfaceKey.

Return

true if such a count was set, false otherwise.

bool ShowUDegree (out ulong out_degree)

Shows the degree of this NURBSSurfaceKey in the U direction.

Param out_degree

The degree of this NURBSSurfaceKey in the U direction.

Return

true if such a degree was set, false otherwise.

bool ShowUKnots (out float[] out_knots)

Shows the knot sequence in the U direction for this NURBSSurfaceKey.

Param out_knots

The knot sequence in the U direction for this NURBSSurfaceKey.

Return

true if these knots were set, false otherwise.

bool ShowVCount (out ulong out_count)

Shows the number of control points in the V direction for this NURBSSurfaceKey.

Param out_count

The number of control points in the V direction for this NURBSSurfaceKey.

Return

true if such a count was set, false otherwise.

bool ShowVDegree (out ulong out_degree)

Shows the degree of this NURBSSurfaceKey in the V direction.

Param out_degree

The degree of this NURBSSurfaceKey in the V direction.

Return

true if such a degree was set, false otherwise.

bool ShowVKnots (out float[] out_knots)

Shows the knot sequence in the V direction for this NURBSSurfaceKey.

Param out_knots

The knot sequence in the V direction for this NURBSSurfaceKey.

Return

true if these knots were set, false otherwise.

bool ShowWeights (out float[] out_weights)

Shows the control point weights for this NURBSSurfaceKey.

Param out_weights

The control point weights for this NURBSSurfaceKey.

Return

true if control point weights were set, false otherwise.

HPS.NURBSSurfaceKey UnsetTrims ()

Removes the trims from this NURBSSurfaceKey.

Return

A reference to this NURBSSurfaceKey.

class NURBSSurfaceKit : public HPS.Kit

The NURBSSurfaceKit class is a user space object. It is a kit analog to a NURBSSurfaceKey.

Public Functions

void Consume (HPS.NURBSSurfaceKit in_kit)

Copies the source NURBSSurfaceKit into this NURBSSurfaceKit and resets the source kit.

Param in_kit

The source NURBSSurfaceKit to consume.

HPS.NURBSSurfaceKit EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the control point list for this NURBSSurfaceKit.

Param in_offset

The offset into the control point list for the NURBSSurfaceKit at which to start removing points. This value must be such that in_offset<control_point_count for deletion to succeed.

Param in_count

The number of points to delete from the control point list for the NURBSSurfaceKit. This value must be such that in_offset+in_count<=control_point_count for the deletion to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the control point list for this NURBSSurfaceKit.

Param in_offset

The offset into the control point list for the NURBSSurfaceKit at which to insert points. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_points

The points to insert into the control point list at the specified offset.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces control points for this NURBSSurfaceKit.

Param in_offset

The offset into the control point list for the NURBSSurfaceKit at which to replace points. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_points

The points to use to replace those in the control point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditUKnotsByDeletion (ulong in_offset, ulong in_count)

Removes knots in the U direction for this NURBSSurfaceKit. This will allow modification of the default knots in the U direction if no such explicit knots are set if possible.

Param in_offset

The offset into the knots in the U direction for the NURBSSurfaceKit at which to start removing knots. This value must be such that in_offset<u_count+u_degree+1 for deletion to succeed.

Param in_count

The number of knots in the U direction to delete for the NURBSSurfaceKit. This value must be such that in_offset+in_count<=u_count+u_degree+1 for the deletion to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditUKnotsByInsertion (ulong in_offset, float[] in_knots)

Adds knots in the U direction for this NURBSSurfaceKit. This will allow modification of the default knots in the U direction if no such explicit knots are set if possible.

Param in_offset

The offset into the knots in the U direction for the NURBSSurfaceKit at which to insert knots. This value must be such that in_offset<u_count+u_degree+1 for insertion to succeed.

Param in_knots

The knots to insert in the U direction at the specified offset.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditUKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots in the U direction for this NURBSSurfaceKit. This will allow modification of the default knots in the U direction if no such explicit knots are set if possible.

Param in_offset

The offset into the knots in the U direction for the NURBSSurfaceKit at which to replace knots. This value must be such that in_offset<u_count+u_degree+1 for the replacement to succeed.

Param in_knots

The knots to use to replace those in the U direction at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=u_count+u_degree+1 for the replacement to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditVKnotsByDeletion (ulong in_offset, ulong in_count)

Removes knots in the V direction for this NURBSSurfaceKit. This will allow modification of the default knots in the V direction if no such explicit knots are set if possible.

Param in_offset

The offset into the knots in the V direction for the NURBSSurfaceKit at which to start removing knots. This value must be such that in_offset<v_count+v_degree+1 for deletion to succeed.

Param in_count

The number of knots in the V direction to delete for the NURBSSurfaceKit. This value must be such that in_offset+in_count<=v_count+v_degree+1 for the deletion to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditVKnotsByInsertion (ulong in_offset, float[] in_knots)

Adds knots in the V direction for this NURBSSurfaceKit. This will allow modification of the default knots in the V direction if no such explicit knots are set if possible.

Param in_offset

The offset into the knots in the V direction for the NURBSSurfaceKit at which to insert knots. This value must be such that in_offset<v_count+v_degree+1 for insertion to succeed.

Param in_knots

The knots to insert in the V direction at the specified offset.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditVKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots in the V direction for this NURBSSurfaceKit. This will allow modification of the default knots in the V direction if no such explicit knots are set if possible.

Param in_offset

The offset into the knots in the V direction for the NURBSSurfaceKit at which to replace knots. This value must be such that in_offset<v_count+v_degree+1 for the replacement to succeed.

Param in_knots

The knots to use to replace those in the V direction at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=v_count+v_degree+1 for the replacement to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditWeightsByDeletion (ulong in_offset, ulong in_count)

Removes weights from the control point weight list for this NURBSSurfaceKit. This will allow modification of the default control point weights if no explicit weights are set if possible.

Param in_offset

The offset into the control point weight list for the NURBSSurfaceKit at which to start removing weights. This value must be such that in_offset<control_point_count for deletion to succeed.

Param in_count

The number of weights to delete from the control point weight list for the NURBSSurfaceKit. This value must be such that in_offset+in_count<=control_point_count for the deletion to succeed.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditWeightsByInsertion (ulong in_offset, float[] in_weights)

Adds weights to the control point weight list for this NURBSSurfaceKit. This will allow modification of the default control point weights if no explicit weights are set if possible.

Param in_offset

The offset into the control point weight list for the NURBSSurfaceKit at which to insert weights. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_weights

The weights to insert into the control point weight list at the specified offset.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit EditWeightsByReplacement (ulong in_offset, float[] in_weights)

Replaces control point weights for this NURBSSurfaceKit. This will allow modification of the default control point weights if no explicit weights are set if possible.

Param in_offset

The offset into the control point weight list for the NURBSSurfaceKit at which to replace weights. This value must be such that in_offset<control_point_count for insertion to succeed.

Param in_weights

The weights to use to replace those in the control point weight list at the specified offset. This size of the array must be such that in_offset+in_weights.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSSurfaceKit.

override bool Empty ()

Indicates whether this NURBSSurfaceKit has any values set on it.

Return

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

bool Equals (HPS.NURBSSurfaceKit in_kit)

Check if the source NURBSSurfaceKit is equivalent to this NURBSSurfaceKit.

Param in_kit

The source NURBSSurfaceKit to compare to this NURBSSurfaceKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPointCount ()

Retrieves the number of points in this NURBS surface.

Return

The number of points in this NURBS surface.

NURBSSurfaceKit ()

The default constructor creates an empty NURBSSurfaceKit object.

NURBSSurfaceKit (HPS.NURBSSurfaceKit in_kit)

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

Param in_kit

The source NURBSSurfaceKit to copy.

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

Copies the source NURBSSurfaceKit into this NURBSSurfaceKit.

Param in_kit

The source NURBSSurfaceKit to copy.

HPS.NURBSSurfaceKit SetPoints (HPS.Point[] in_points)

Sets the control points for the NURBSSurfaceKit.

Param in_points

The control points for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the NURBSSurfaceKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.NURBSSurfaceKit SetTrim (HPS.TrimKit in_trim)

Sets the trim for the NURBSSurfaceKit.

Param in_trim

The trim for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetTrims (HPS.TrimKit[] in_trims)

Sets the trims for the NURBSSurfaceKit.

Param in_trims

The trims for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetUCount (ulong in_count)

Sets the number of control points in the U direction for the NURBSSurfaceKit.

Param in_count

The number of control points in the U direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetUDegree (ulong in_degree)

Sets degree of the NURBSSurfaceKit in the U direction.

Param in_degree

The degree of the NURBSSurfaceKit in the U direction.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetUKnots (float[] in_knots)

Sets the knots in the U direction for the NURBSSurfaceKit. If no knots are set when this kit is used to insert a NURBS surface, default knots of increasing value in the range [0,u_count+u_degree+1) will be used.

Param in_knots

The knots in the U direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.NURBSSurfaceKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.NURBSSurfaceKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

HPS.NURBSSurfaceKit SetVCount (ulong in_count)

Sets the number of control points in the V direction for the NURBSSurfaceKit.

Param in_count

The number of control points in the V direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetVDegree (ulong in_degree)

Sets degree of the NURBSSurfaceKit in the V direction.

Param in_degree

The degree of the NURBSSurfaceKit in the V direction.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetVKnots (float[] in_knots)

Sets the knots in the V direction for the NURBSSurfaceKit. If no knots are set when this kit is used to insert a NURBS surface, default knots of increasing value in the range [0,v_count+v_degree+1) will be used.

Param in_knots

The knots in the V direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit SetWeights (float[] in_weights)

Sets the control point weights for the NURBSSurfaceKit. If no weights are set when this kit is used to insert a NURBS surface, default weights of 1.0f per control point will be used.

Param in_weights

The control point weights for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

void Show (out HPS.NURBSSurfaceKit out_kit)

Copies this NURBSSurfaceKit into the given NURBSSurfaceKit.

Param out_kit

The NURBSSurfaceKit to populate with the contents of this NURBSSurfaceKit.

bool ShowPoints (out HPS.Point[] out_points)

Shows the control points for this NURBSSurfaceKit.

Param out_points

The control points for this NURBSSurfaceKit.

Return

true if control points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this NURBSSurfaceKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this NURBSSurfaceKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this NURBSSurfaceKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this NURBSSurfaceKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowTrims (out HPS.TrimKit[] out_trims)

Shows the trims for this NURBSSurfaceKit.

Param out_trims

The trims for this NURBSSurfaceKit.

Return

true if trims were set, false otherwise.

bool ShowUCount (out ulong out_count)

Shows the number of control points in the U direction for this NURBSSurfaceKit.

Param out_count

The number of control points in the U direction for this NURBSSurfaceKit.

Return

true if such a count was set, false otherwise.

bool ShowUDegree (out ulong out_degree)

Shows the degree of this NURBSSurfaceKit in the U direction.

Param out_degree

The degree of this NURBSSurfaceKit in the U direction.

Return

true if such a degree was set, false otherwise.

bool ShowUKnots (out float[] out_knots)

Shows the knots in the U direction for this NURBSSurfaceKit.

Param out_knots

The knots in the U direction for this NURBSSurfaceKit.

Return

true if these knots were set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

bool ShowVCount (out ulong out_count)

Shows the number of control points in the V direction for this NURBSSurfaceKit.

Param out_count

The number of control points in the V direction for this NURBSSurfaceKit.

Return

true if such a count was set, false otherwise.

bool ShowVDegree (out ulong out_degree)

Shows the degree of this NURBSSurfaceKit in the V direction.

Param out_degree

The degree of this NURBSSurfaceKit in the V direction.

Return

true if such a degree was set, false otherwise.

bool ShowVKnots (out float[] out_knots)

Shows the knots in the V direction for this NURBSSurfaceKit.

Param out_knots

The knots in the V direction for this NURBSSurfaceKit.

Return

true if these knots were set, false otherwise.

bool ShowWeights (out float[] out_weights)

Shows the control point weights for this NURBSSurfaceKit.

Param out_weights

The control point weights for this NURBSSurfaceKit.

Return

true if control point weights were set, false otherwise.

HPS.NURBSSurfaceKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.NURBSSurfaceKit UnsetEverything ()

Removes all settings from the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetPoints ()

Removes the control points for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.NURBSSurfaceKit UnsetTrims ()

Removes the trims from the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetUCount ()

Removes the setting for the number of points in the U direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetUDegree ()

Removes the setting for the degree of the NURBSSurfaceKit in the U direction.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetUKnots ()

Removes the knots in the U direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.NURBSSurfaceKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

HPS.NURBSSurfaceKit UnsetVCount ()

Removes the setting for the number of points in the V direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetVDegree ()

Removes the setting for the degree of the NURBSSurfaceKit in the V direction.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetVKnots ()

Removes the knots in the V direction for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

HPS.NURBSSurfaceKit UnsetWeights ()

Removes the control point weights for the NURBSSurfaceKit.

Return

A reference to this NURBSSurfaceKit.

class OBJ : public IDisposable

The OBJ class contains objects and enumerations used for importing OBJ files.

class ExportNotifier : public HPS.IONotifier

The ExportNotifier class is a smart-pointer that is associated with an asynchronous file export. It is used to interact with an ongoing export or get the results from a completed export.

Public Functions

void Assign (HPS.OBJ.ExportNotifier in_that)

Associate this ExportNotifier with the same file export as the source ExportNotifier.

Param in_that

The source ExportNotifier for the assignment.

ExportNotifier ()

The default constructor creates an ExportNotifier object which is not associated with any file export.

ExportNotifier (HPS.IONotifier in_that)

The conversion constructor creates a new derived ExportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ExportNotifier will be invalid.

Param in_that

The source IONotifier to copy.

ExportNotifier (HPS.OBJ.ExportNotifier in_that)

The copy constructor creates a new ExportNotifier object that is associated with the same file export as the source ExportNotifier.

Param in_that

The source ExportNotifier to copy.

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.

class File : public IDisposable

The File class provides functions to import and export OBJ files.

Public Static Functions

HPS.OBJ.ExportNotifier Export (string in_file_name, HPS.KeyPath in_key_path_to_export)

Performs an asynchronous export of the specified key path to an OBJ file. May throw IOException in case of errors.

Param in_file_name

Name of OBJ file to export.

Param in_key_path_to_export

KeyPath from the segment where to start the export to the WindowKey. When using Sprocket, if you wish to export the Model, construct a SprocketPath and pass the KeyPath obtained from its GetKeyPath() method.

Return

An ExportNotfier object that can be used to query the export progress and status.

HPS.OBJ.ImportNotifier Import (string in_file_name, HPS.OBJ.ImportOptionsKit in_options)

Performs an asynchronous import of the specified OBJ file with the provided options. May throw an IOException prior to starting the asynchronous import.

Param in_file_name

Name of OBJ file to import.

Param in_options

Options controlling the import of the OBJ file (e.g., segment to import into).

Return

An ImportNotfier object that can be used to query the import progress and status.

class ImportNotifier : public HPS.IONotifier

The ImportNotifier class is a smart-pointer that is associated with an asynchronous file import. It is used to interact with an ongoing import or get the results from a completed import.

Public Functions

void Assign (HPS.OBJ.ImportNotifier in_that)

Associate this ImportNotifier with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier for the assignment.

HPS.OBJ.ImportResultsKit GetResults ()

Get the ImportResultsKit for the file import. Throws an IOException if the import is not complete or was not successful.

Return

The ImportResultsKit for a successful file import.

ImportNotifier ()

The default constructor creates an ImportNotifier object which is not associated with any file import.

ImportNotifier (HPS.IONotifier in_that)

The conversion constructor creates a new derived ImportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ImportNotifier will be invalid.

Param in_that

The source IONotifier to copy.

ImportNotifier (HPS.OBJ.ImportNotifier in_that)

The copy constructor creates a new ImportNotifier object that is associated with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier to copy.

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.

class ImportOptionsKit : public HPS.Kit

The ImportOptionsKit class contains any settings controlling the import of OBJ files.

Public Functions

override bool Empty ()

Indicates whether this ImportOptionsKit has any values set on it.

Return

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

bool Equals (HPS.OBJ.ImportOptionsKit in_kit)

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to compare to this ImportOptionsKit.

Return

true if the objects are equivalent, false otherwise.

ImportOptionsKit ()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit (HPS.OBJ.ImportOptionsKit in_kit)

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

Param in_kit

The source ImportOptionsKit to copy.

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.OBJ.ImportOptionsKit in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to copy.

HPS.OBJ.ImportOptionsKit SetHandedness (HPS.Drawing.Handedness in_handedness)

Sets the handedness used to import geometry by the OBJ importer. It should match the World Handedness for best results. Defaults to Right if not set.

Param in_handedness

The handedness used to import geometry.

Return

A reference to this ImportOptionsKit.

HPS.OBJ.ImportOptionsKit SetPortfolio (HPS.PortfolioKey in_portfolio)

Sets the portfolio which will be used when the importing images and textures. If no segment is specified, a portfolio will be created for this purpose during import.

Param in_portfolio

Portfolio that will be used when importing images and textures

Return

A reference to this ImportOptionsKit.

HPS.OBJ.ImportOptionsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment where the OBJ data will be imported into. If no segment is specified, a root segment will be created for this purpose during import.

Param in_segment

Segment the OBJ data will be imported into.

Return

A reference to this ImportOptionsKit.

void Show (out HPS.OBJ.ImportOptionsKit out_kit)

Copies this ImportOptionsKit into the given ImportOptionsKit.

Param out_kit

The ImportOptionsKit to populate with the contents of this ImportOptionsKit.

bool ShowHandedness (out HPS.Drawing.Handedness out_handedness)

Shows the handedness used to import geometry.

Param out_handedness

Handedness used to import geometry.

Return

true if a handedness was specified, false otherwise.

bool ShowPortfolio (out HPS.PortfolioKey out_portfolio)

Shows the portfolio which will be used when importing images and textures.

Param out_portfolio

Portfolio that will be used when importing images and textures.

Return

true if a portfolio was specified, false otherwise.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment where the OBJ data will be imported into.

Param out_segment

Segment the OBJ data will be imported into.

Return

true if a root segment was specified, false otherwise.

HPS.OBJ.ImportOptionsKit UnsetEverything ()

Removes all settings from this ImportOptionsKit.

Return

A reference to this ImportOptionsKit.

HPS.OBJ.ImportOptionsKit UnsetHandedness ()

Removes handedness information from this kit.

Return

A reference to this ImportOptionsKit.

HPS.OBJ.ImportOptionsKit UnsetPortfolio ()

Removes the portfolio which will be used when importing images and textures.

Return

A reference to this ImportOptionsKit.

HPS.OBJ.ImportOptionsKit UnsetSegment ()

Removes the root segment specifying where the OBJ data will be imported into.

Return

A reference to this ImportOptionsKit.

class ImportResultsKit : public HPS.Kit

The ImportResultsKit class contains the results of a successful OBJ import.

Public Functions

override bool Empty ()

Indicates whether this ImportResultsKit has any values set on it.

Return

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

bool Equals (HPS.OBJ.ImportResultsKit in_kit)

Check if the source ImportResultsKit is equivalent to this ImportResultsKit.

Param in_kit

The source ImportResultsKit to compare to this ImportResultsKit.

Return

true if the objects are equivalent, false otherwise.

ImportResultsKit ()

The default constructor creates an empty ImportResultsKit object.

ImportResultsKit (HPS.OBJ.ImportResultsKit in_kit)

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

Param in_kit

The source ImportResultsKit to copy.

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.OBJ.ImportResultsKit in_kit)

Copies the source ImportResultsKit into this ImportResultsKit.

Param in_kit

The source ImportResultsKit to copy.

HPS.OBJ.ImportResultsKit SetHandedness (HPS.Drawing.Handedness in_handedness)

Sets the handedness used when importing geometry. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Param in_handedness

Handedness used to import geometry.

Return

A reference to this ImportResultsKit.

HPS.OBJ.ImportResultsKit SetPortfolio (HPS.PortfolioKey in_portfolio)

Sets the portfolio which was used when the import file read in images and textures. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Param in_portfolio

Portfolio that was used when the file imported images and textures.

Return

A reference to this ImportResultsKit.

HPS.OBJ.ImportResultsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment which the OBJ data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Param in_segment

Segment the OBJ data was imported into.

Return

A reference to this ImportResultsKit.

void Show (out HPS.OBJ.ImportResultsKit out_kit)

Copies this ImportResultsKit into the given ImportResultsKit.

Param out_kit

The ImportResultsKit to populate with the contents of this ImportResultsKit.

bool ShowHandedness (out HPS.Drawing.Handedness out_handedness)

Shows handedness used to import geometry. This was either the root segment specified by the user in the ImportOptionsKit passed to OBJ.File.Import, or the root segment that was created for this purpose during import.

Param out_handedness

Segment the OBJ data was imported into.

Return

true if a handedness was specified, false otherwise.

bool ShowPortfolio (out HPS.PortfolioKey out_portfolio)

Shows the portfolio which was used when the import file read in images and textures. This was either the portfolio specified by the user in the ImportOptionsKit passed to OBJ.File.Import, or the portfolio that was created for this purpose during import.

Return

true if portfolio was specified, false otherwise.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment which the OBJ data was imported into. This was either the root segment specified by the user in the ImportOptionsKit passed to OBJ.File.Import, or the root segment that was created for this purpose during import.

Param out_segment

Segment the OBJ data was imported into.

Return

true if a root segment was specified, false otherwise.

HPS.OBJ.ImportResultsKit UnsetEverything ()

Removes all settings from this ImportResultsKit.

Return

A reference to this ImportResultsKit.

HPS.OBJ.ImportResultsKit UnsetHandedness ()

Removes the handedness used to import geometry. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Return

A reference to this ImportResultsKit.

HPS.OBJ.ImportResultsKit UnsetPortfolio ()

Removes the portfolio which was used when the import file imported images and textures. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Return

A reference to this ImportResultsKit.

HPS.OBJ.ImportResultsKit UnsetSegment ()

Removes the root segment which the OBJ data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Return

A reference to this ImportResultsKit.

class Object : public IDisposable

The Object class is the common base class of most Visualize classes.

Subclassed by HPS.ConditionalExpression, HPS.Control, HPS.Definition, HPS.DriverEventHandler, HPS.EventDispatcher, HPS.EventHandler, HPS.EventNotifier, HPS.FontInfoState, HPS.FontSearchResults, HPS.FontSearchResultsIterator, HPS.GlyphElement, HPS.HighlightSearchResults, HPS.HighlightSearchResultsIterator, HPS.HighlightState, HPS.IONotifier, HPS.Key, HPS.KeyPath, HPS.KeyboardState, HPS.Kit, HPS.LinePatternElement, HPS.MouseState, HPS.OptimizeMappingResults, HPS.OptimizeMappingResultsIterator, HPS.SearchResults, HPS.SearchResultsIterator, HPS.SelectionItem, HPS.SelectionResults, HPS.SelectionResultsIterator, HPS.ShapeElement, HPS.Stream.Toolkit, HPS.TouchState, HPS.TreeContext, HPS.TrimElement, HPS.UpdateNotifier, HPS.World

Public Functions

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.

IntPtr GetInstanceID ()

Returns the object’s database handle, which can be used to determine which instance of a class the object is. For example, controls are simply aliases for segment keys that group related functions. Therefore, a SegmentKey and all of its controls would return the same instance id. Different keys and controls will return the same value if they are backed by the same database resource.

Return

A value unique to an instance of an object and all objects that are backed by the same database resource. This means it would be 4 bytes on a 32-bit system and 8 bytes on a 64-bit system.

bool HasType (HPS.Type in_mask)

This function indicates whether this Object has the given Type mask.

Warning

This function must synchronize the database (by waiting for all pending database operations to complete) in order to know the type status of this object with certainty. Therefore this function can negatively impact performance. You should vigorously avoid using this function in high-traffic or peformance-critical areas of your code.

Param in_mask

The Type mask to check against this Object.

Return

true if this Object has the given Type mask, false otherwise.

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 Reset ()

Resets this object to its initial, uninitialized state.

struct ObjectPoint
class ObjectPointArray : public HPS::InternalHPSBlittableArray<HPS.ObjectPoint>
class OffScreenWindowKey : public HPS.WindowKey

The OffScreenWindowKey class is a smart pointer to a database object. Offscreen windows are special types of windows that represent images that can be rendered into.

Public Functions

HPS.OffScreenWindowOptionsControl GetWindowOptionsControl ()

Gets a control that allows querying options specific to offscreen windows.

Return

A control that allows querying options specific to offscreen windows.

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.

OffScreenWindowKey ()

The default constructor creates an uninitialized OffScreenWindowKey object. The Type() function will return Type.None.

OffScreenWindowKey (HPS.Key in_key)

The copy constructor creates an OffScreenWindowKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an offscreen window. Otherwise the copy will fail and the resulting OffScreenWindowKey will be invalid.

Param in_key

The source Key to copy.

OffScreenWindowKey (HPS.OffScreenWindowKey in_that)

The copy constructor creates a OffScreenWindowKey object that shares the underlying smart-pointer of the source OffScreenWindowKey.

Param in_that

The source OffScreenWindowKey to copy.

bool ShowWindowOptions (out HPS.OffScreenWindowOptionsKit out_kit)

Shows the offscreen-window-specific options for this OffScreenWindowKey.

Param out_kit

The offscreen-window-specific options for this OffScreenWindowKey.

Return

true if any options are set, false otherwise.

class OffScreenWindowOptionsControl : public HPS.Control

The HPS.OffScreenWindowOptionsControl class is a smart pointer that is tied to a database object. It is used to query offscreen-window-specific options on an OffScreenWindowKey. This control also gives you the ability to make a screenshot of the Visualize scene using ShowImage. This table lists default values for the various segment attributes accessible from HPS.OffScreenWindowOptionsControl.

Public Functions

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.

OffScreenWindowOptionsControl (HPS.OffScreenWindowKey in_seg)

This constructor creates a OffScreenWindowOptionsControl object which is tied to the specified offscreen window.

OffScreenWindowOptionsControl (HPS.OffScreenWindowOptionsControl in_that)

The copy constructor creates a OffScreenWindowOptionsControl object that shares the underlying smart-pointer of the source OffScreenWindowOptionsControl.

Param in_that

The source OffScreenWindowOptionsControl to copy.

HPS.OffScreenWindowOptionsControl SetAntiAliasCapable (bool in_state)

Sets the anti-alias options for this OffScreenWindowOptionsControl.

Param in_state

Whether the associated off-screen window should be anti-alias capable.

Return

A reference to this OffScreenWindowOptionsControl.

HPS.OffScreenWindowOptionsControl SetAntiAliasCapable (bool in_state, uint in_samples)

Sets the anti-alias options for this OffScreenWindowOptionsControl.

Param in_state

Whether the associated off-screen window should be anti-alias capable.

Param in_samples

The number of anti-alias samples to use for the associated off-screen window. Defaults to 4.

Return

A reference to this OffScreenWindowOptionsControl.

HPS.OffScreenWindowOptionsControl SetNativeFormat (HPS.Window.ImageFormat in_format)

Sets the native image format to store data in.

Param in_format

Format image data will be stored in.

Return

A reference to this OffScreenWindowOptionsControl.

HPS.OffScreenWindowOptionsControl SetNativeFormat (HPS.Window.ImageFormat in_format, float in_quality)

Sets the native image format to store data in.

Param in_format

Format image data will be stored in.

Param in_quality

The compression quality for the image data (when applicable).

Return

A reference to this OffScreenWindowOptionsControl.

HPS.OffScreenWindowOptionsControl SetScreenAntiAliasing (bool in_state)

Manipulates the state of screen anti-aliasing.

Param in_state

Whether screen anti-aliasing should be used.

Return

A reference to this object.

HPS.OffScreenWindowOptionsControl SetSize (uint in_width, uint in_height)

Sets the width and height in pixels of the associated offscreen window.

Param in_width

The width in pixels of the associated offscreen window.

Param in_height

The height in pixels of the associated offscreen window.

Return

A reference to this OffScreenWindowOptionsControl.

bool ShowAntiAliasCapable (out bool out_state, out uint out_samples)

Shows the whether this offscreen window is anti-alias capable, and if so, how many samples it uses for anti-aliasing.

Param out_state

Whether this offscreen window is anti-alias capable.

Param out_samples

The number of anti-alias samples supported by this offscreen window.

Return

true if any anti-alias options were set, false otherwise.

bool ShowDriver (out HPS.Window.Driver out_driver)

Shows the driver for the associated offscreen window.

Param out_driver

The driver for the associated offscreen window.

Return

true if a driver was set, false otherwise.

bool ShowFramebufferRetention (out bool out_retain)

Shows the framebuffer retention setting for the associated offscreen window.

Param out_retain

The framebuffer retention setting for the associated offscreen window.

Return

true if framebuffer retention option was set, false otherwise.

bool ShowHardwareResident (out bool out_state)

Shows the hardware resident option of the associated offscreen window.

Param out_state

Whether the image data for this offscreen window should be stored exclusively in video memory.

Return

true if a hardware resident option was set, false otherwise.

bool ShowImage (HPS.Image.Format in_format, out HPS.ImageKit out_image)

Shows the contents of this offscreen window into the provided ImageKit in the specified format.

Param in_format

The format of the image to generate.

Param out_image

The contents of this offscreen window as an image in the specified format.

Return

true if the shown image is valid, false otherwise.

bool ShowImage (out byte[] out_bytes)

Shows the image bytes in the native format for this OffScreenWindow.

Param out_bytes

Image data as an array of bytes.

Return

true if the shown image is valid, false otherwise.

bool ShowNativeFormat (out HPS.Window.ImageFormat out_format, out float out_quality)

Shows the native format and quality of the associated offscreen window.

Param out_format

Format image data will be stored in.

Param out_quality

The compression quality for the image data (when applicable).

Return

true if a native format option was set, false otherwise.

bool ShowOpacity (out bool out_state, out float out_opacity)

Shows the opacity of the associated offscreen window

Param out_state

Whether the offscreen window supports opacity in the window background.

Param out_opacity

The opacity value that will be applied when rendering the window background.

Return

true if an opacity option was set, false otherwise.

bool ShowSize (out uint out_width, out uint out_height)

Shows the width and height in pixels of the associated offscreen window.

Param out_width

The width in pixels of the associated offscreen window.

Param out_height

The height in pixels of the associated offscreen window.

Return

true if a height and width were set, false otherwise.

HPS.OffScreenWindowOptionsControl UnsetFallbackFonts ()

Unsets any fonts currently used as fallback fonts.

class OffScreenWindowOptionsKit : public HPS.Kit

The HPS.OffScreenWindowOptionsKit class is a user space object. It is used to specify off-screen-window-specific options. Calling HPS.OffScreenWindowOptionsKit.GetDefault() will return an options kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this OffScreenWindowOptionsKit has any values set on it.

Return

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

bool Equals (HPS.OffScreenWindowOptionsKit in_kit)

Check if the source OffScreenWindowOptionsKit is equivalent to this OffScreenWindowOptionsKit.

Param in_kit

The source OffScreenWindowOptionsKit to compare to this OffScreenWindowOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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.

OffScreenWindowOptionsKit ()

The default constructor creates an empty OffScreenWindowOptionsKit object.

OffScreenWindowOptionsKit (HPS.OffScreenWindowOptionsKit in_kit)

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

Param in_kit

The source OffScreenWindowOptionsKit to copy.

void Set (HPS.OffScreenWindowOptionsKit in_kit)

Copies the source OffScreenWindowOptionsKit into this OffScreenWindowOptionsKit.

Param in_kit

The source OffScreenWindowOptionsKit to copy.

HPS.OffScreenWindowOptionsKit SetAntiAliasCapable (bool in_state)

Sets the anti-alias options for this OffScreenWindowOptionsKit.

Param in_state

Whether the associated application window should be anti-alias capable.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetAntiAliasCapable (bool in_state, uint in_samples)

Sets the anti-alias options for this OffScreenWindowOptionsKit.

Param in_state

Whether the associated application window should be anti-alias capable.

Param in_samples

The number of anti-alias samples to use for the associated off-screen window.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetDriver (HPS.Window.Driver in_driver)

Sets the driver for this OffScreenWindowOptionsKit.

Param in_driver

The driver for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetFramebufferRetention (bool in_retain)

Sets the framebuffer retention option for this OffScreenWindowOptionsKit.

Param in_retain

Whether the associated offscreen window retains the image from the previous frame.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetHardwareResident (bool in_state)

Sets whether the image data for this offscreen window should be stored exclusively in video memory. Storing the image in video memory improves the update time but may make the image data inaccessible directly.

Param in_state

Whether the image data for this offscreen window should be stored exclusively in video memory.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetNativeFormat (HPS.Window.ImageFormat in_format)

Sets the native image format to store data in.

Param in_format

Format image data will be stored in.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetNativeFormat (HPS.Window.ImageFormat in_format, float in_quality)

Sets the native image format to store data in.

Param in_format

Format image data will be stored in.

Param in_quality

The compression quality for the image data (when applicable).

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetOpacity (bool in_state)

Sets whether this offscreen window supports opacity in the window background and the opacity value that should be applied when rendering the window background.

Param in_state

Whether this offscreen window should support opacity in the window background.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetOpacity (bool in_state, float in_opacity)

Sets whether this offscreen window supports opacity in the window background and the opacity value that should be applied when rendering the window background.

Param in_state

Whether this offscreen window should support opacity in the window background.

Param in_opacity

The opacity value that will be applied when rendering the window background. The value is clamped if the opacity is outside the range 0 to 1.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetOpacity (float in_opacity)

Enables support for opacity in the window background and applies the specified opacity value when rendering the window background.

Param in_opacity

The opacity value that will be applied when rendering the window background.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetPreferredGPU (HPS.GPU.Preference in_gpu_preference)

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request.

<computeroutput>in_gpu_name</computeroutput> needs to be specified when <computeroutput>in_gpu_preference</computeroutput> is set to <computeroutput> GPU.Preference.Specific </computeroutput>. The value passed for <computeroutput>in_gpu_name</computeroutput> needs to match one of those returned by <computeroutput> Database.ShowAvailableGPUs() </computeroutput>. If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU will be used.

All Visualize windows using DirectX11 will use the same GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling <computeroutput>SetPreferredGPU(GPU.Preference.Specific, “Microsoft Basic Render Driver”)</computeroutput>), DirectX11 will run in software mode.

Param in_gpu_preference

Which GPU to choose. If GPU.Preference.Specific is chosen, the next argument is required.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetPreferredGPU (HPS.GPU.Preference in_gpu_preference, string in_gpu_name)

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request.

<computeroutput>in_gpu_name</computeroutput> needs to be specified when <computeroutput>in_gpu_preference</computeroutput> is set to <computeroutput> GPU.Preference.Specific </computeroutput>. The value passed for <computeroutput>in_gpu_name</computeroutput> needs to match one of those returned by <computeroutput> Database.ShowAvailableGPUs() </computeroutput>. If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU will be used.

All Visualize windows using DirectX11 will use the same GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling <computeroutput>SetPreferredGPU(GPU.Preference.Specific, “Microsoft Basic Render Driver”)</computeroutput>), DirectX11 will run in software mode.

Param in_gpu_preference

Which GPU to choose. If GPU.Preference.Specific is chosen, the next argument is required.

Param in_gpu_name

The name of the specific GPU to use. Required when in_gpu_preference is GPU.Preference.Specific, ignored otherwise.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit SetScreenAntiAliasing (bool in_state)

Manipulates the state of screen anti-aliasing.

Param in_state

Whether screen anti-aliasing should be used.

Return

A reference to this object.

void Show (out HPS.OffScreenWindowOptionsKit out_kit)

Copies this OffScreenWindowOptionsKit into the given OffScreenWindowOptionsKit.

Param out_kit

The OffScreenWindowOptionsKit to populate with the contents of this OffScreenWindowOptionsKit.

bool ShowAntiAliasCapable (out bool out_state, out uint out_samples)

Shows the anti-alias options for this OffScreenWindowOptionsKit.

Param out_state

Whether the associated application window should be anti-alias capable.

Param out_samples

The number of anti-alias samples to use for the associated application window.

Return

true if anti-alias options were set, false otherwise.

bool ShowDriver (out HPS.Window.Driver out_driver)

Shows the driver for this OffScreenWindowOptionsKit.

Param out_driver

The driver for this OffScreenWindowOptionsKit.

Return

true if a driver was set, false otherwise.

bool ShowFramebufferRetention (out bool out_retain)

Shows the framebuffer retention setting for this OffScreenWindowOptionsKit.

Param out_retain

The framebuffer retention setting for this OffScreenWindowOptionsKit.

Return

true if platform specific data was set, false otherwise.

bool ShowHardwareResident (out bool out_state)

Shows the hardware resident option for this OffScreenWindowOptionsKit.

Param out_state

Whether the image data for this offscreen window should be stored exclusively in video memory.

Return

true if a hardware resident option was set, false otherwise.

bool ShowNativeFormat (out HPS.Window.ImageFormat out_format, out float out_quality)

Shows the native format option for this OffScreenWindowOptionsKit.

Param out_format

Format image data will be stored in.

Param out_quality

The compression quality for the image data (when applicable).

Return

true if a native format option was set, false otherwise.

bool ShowOpacity (out bool out_state, out float out_opacity)

Shows the opacity option for this offscreen window

Param out_state

Whether this offscreen window supports opacity in the window background.

Param out_opacity

The opacity value that will be applied when rendering the window background.

Return

true if an opacity option was set, false otherwise.

bool ShowPreferredGPU (out HPS.GPU.Preference out_gpu_preference, out string out_gpu_name)

Shows the preference settings for picking a GPU when multiple GPUs are available.

Param out_gpu_preference

The preference for picking a GPU when multiple GPUs are available.

Param out_gpu_name

The name of the GPU to use. Only valid when out_gpu_preference is GPU.Preference.Specific

Return

true if a GPU preference was set, false otherwise.

HPS.OffScreenWindowOptionsKit UnsetAntiAliasCapable ()

Removes the anti-alias options for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetDriver ()

Removes the driver for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetEverything ()

Removes all settings from this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetFramebufferRetention ()

Removes the framebuffer retention setting for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetHardwareResident ()

Removes the hardware resident option for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetNativeFormat ()

Removes the native format option for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetOpacity ()

Removes the opacity option for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetPreferredGPU ()

Removes the setting for which GPU should be used when multiple GPUs are available.

Return

A reference to this OffScreenWindowOptionsKit.

HPS.OffScreenWindowOptionsKit UnsetScreenAntiAliasing ()

Removes the screen anti-alias options for this OffScreenWindowOptionsKit.

Return

A reference to this OffScreenWindowOptionsKit.

Public Static Functions

HPS.OffScreenWindowOptionsKit GetDefault ()

Creates an OffScreenWindowOptionsKit 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

An OffScreenWindowOptionsKit with the default settings.

class OptimizeMappingResults : public HPS.Object

The OptimizeMappingResults class is a smart-pointer to a database object. It contains the results of an OptimizeWithMapping operation.

Public Functions

void Assign (HPS.OptimizeMappingResults in_mappping)

Share the underlying smart-pointer if the assignment source. This method is functionally equivalent to the overloaded assignment operator except for the return value.

bool FlushMerged ()

Flush original shells that were merged. GetCount will return 0 after this operations so information must be read before flushing.

Return

True if any items were flushed.

ulong GetCount ()

Gets the number of items that were recorded in the associated optimize.

Return

The number of unique items.

HPS.OptimizeMappingResultsIterator GetIterator ()

Returns a OptimizeMappingResultsIterator used to iterate through the optimize results.

Return

An iterator pointing to the beginning of the optimize results list.

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.

OptimizeMappingResults (HPS.OptimizeMappingResults in_mappping)

The copy constructor creates a new OptimizeMappingResults object that shares the underlying smart-pointer of the source.

Param in_mappping

The source of the copy.

override void Reset ()

Resets this object to its initial, uninitialized state.

class OptimizeMappingResultsIterator : public HPS.Object

An iterator used for traversing results from a optimize on an associated OptimizeMappingResults object.

Public Functions

HPS.Key GetItem ()

Returns the item that this iterator is currently pointing at. Throws an InvalidObjectException if the iterator is not valid. This method is functionally equivalent to the overloaded operator*.

Return

The current item.

bool GetMergedShellInfo (out HPS.ShellKey out_shell_key, out ulong out_vertex_offset, out ulong out_face_offset, out ulong out_edge_offset)

Returns the item that this iterator is currently pointing at. Throws an InvalidObjectException if the iterator is not valid.

Param out_shell_key

The post merge shell that this item is in.

Param out_vertex_offset

The offset that the vertices from the item start in the post merge shell.

Param out_face_offset

The offset that the faces from the item start in the post merge shell.

Param out_edge_offset

The offset that the edges from the item start in the post merge shell.

Return

True if the out params are valid

bool IsValid ()

Queries the validity of this iterator location. Invalid locations would include uninitialized iterators and iterators that had walked past the last element.

Return

true if this iterator is pointing to a valid item, false otherwise.

void Next ()

Advances the iterator to the next search result item

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.

OptimizeMappingResultsIterator ()

The default constructor creates a new OptimizeMappingResultsIterator object that is not associated with any OptimizeMappingResults object.

OptimizeMappingResultsIterator (HPS.OptimizeMappingResultsIterator in_mapping_results_iterator)

The copy constructor initializes a new OptimizeMappingResultsIterator object that is associated with the same OptimizeMappingResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Param in_mapping_results_iterator

The source of the copy.

override void Reset ()

Resets iterator to the beginning of the associated search results.

void Set (HPS.OptimizeMappingResultsIterator in_mapping_results_iterator)

Copies a OptimizeMappingResultsIterator object, associating this object with the same OptimizeMappingResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_mapping_results_iterator

The source of the copy.

class PBRMaterialKit : public HPS.Kit

The HPS.PBRMaterialKit class is a user space object, used for grouping attribute settings related to PBR materials.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.PBRMaterialKit in_kit)

Check if the source PBRMaterialKit is equivalent to this object.

Param in_kit

The source PBRMaterialKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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.

PBRMaterialKit ()

Initializes an empty kit.

PBRMaterialKit (HPS.PBRMaterialKit in_kit)

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

Param in_kit

The source object to copy.

void Set (HPS.PBRMaterialKit in_kit)

Copies all settings from the source PBRMaterialKit into this object.

Param in_kit

The source PBRMaterialKit to copy.

HPS.PBRMaterialKit SetAlphaFactor (float in_factor)

Sets the alpha factor which scales the alpha map or acts as the alpha if no map exists.

Param in_factor

The factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetAlphaFactor (float in_factor, bool in_mask)

Sets the alpha factor which scales the alpha map or acts as the alpha if no map exists.

Param in_factor

The factor to use.

Param in_mask

Sets if the alpha acts as a mask.

Return

A reference to this object.

HPS.PBRMaterialKit SetBaseColorFactor (HPS.RGBAColor in_color)

Sets the base color factor which either scales the base color map or acts as a base color directly if no map exists.

Param in_color

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetBaseColorMap (string in_texture_name)

Sets the base color map.

Param in_texture_name

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetEmissiveMap (string in_texture_name)

Sets the emissive map.

Param in_texture_name

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetMetalnessFactor (float in_factor)

Sets the metalness factor which scales the metalness map or acts as the metalness if no map exists.

Param in_factor

The factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetMetalnessMap (string in_texture_name)

Sets the metalness map.

Param in_texture_name

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetMetalnessMap (string in_texture_name, HPS.Material.Texture.ChannelMapping in_channel)

Sets the metalness map.

Param in_texture_name

The base color factor to use.

Param in_channel

The color channel from the map to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetNormalFactor (float in_factor)

Sets the normal factor which scales the normal map.

Param in_factor

The factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetNormalMap (string in_texture_name)

Sets the normal map.

Param in_texture_name

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetOcclusionFactor (float in_factor)

Sets the occlusion factor which scales the occlusion map.

Param in_factor

The factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetOcclusionMap (string in_texture_name)

Sets the occlusion map.

Param in_texture_name

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetOcclusionMap (string in_texture_name, HPS.Material.Texture.ChannelMapping in_channel)

Sets the occlusion map.

Param in_texture_name

The base color factor to use.

Param in_channel

The color channel from the map to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetRoughnessFactor (float in_factor)

Sets the roughness factor which scales the roughness map or acts as the roughness if no map exists.

Param in_factor

The factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetRoughnessMap (string in_texture_name)

Sets the roughness map.

Param in_texture_name

The base color factor to use.

Return

A reference to this object.

HPS.PBRMaterialKit SetRoughnessMap (string in_texture_name, HPS.Material.Texture.ChannelMapping in_channel)

Sets the roughness map.

Param in_texture_name

The base color factor to use.

Param in_channel

The color channel from the map to use.

Return

A reference to this object.

void Show (out HPS.PBRMaterialKit out_kit)

Copies all settings from this PBRMaterialKit into the given PBRMaterialKit.

Param out_kit

The PBRMaterialKit to populate with the contents of this object.

bool ShowAlphaFactor (out float out_factor, out bool out_mask)

Shows the alpha factor and alpha mask.

Param out_factor

The alpha factor if set.

Param out_mask

The alpha mask value.

Return

true if the setting is valid, false otherwise.

bool ShowBaseColorFactor (out HPS.RGBAColor out_color)

Shows the base color factor.

Param out_color

The base color factor if set.

Return

true if the setting is valid, false otherwise.

bool ShowBaseColorMap (out string out_texture_name)

Shows the base color map name.

Param out_texture_name

The base color map name if set.

Return

true if the setting is valid, false otherwise.

bool ShowEmissiveMap (out string out_texture_name)

Shows the emissive map name.

Param out_texture_name

The emissive map name if set.

Return

true if the setting is valid, false otherwise.

bool ShowMetalnessFactor (out float out_factor)

Shows the metalness factor.

Param out_factor

The metalness if set.

Return

true if the setting is valid, false otherwise.

bool ShowMetalnessMap (out string out_texture_name, out HPS.Material.Texture.ChannelMapping out_channel)

Shows the metalness map name.

Param out_texture_name

The metalness map name if set.

Param out_channel

The channel.

Return

true if the setting is valid, false otherwise.

bool ShowNormalFactor (out float out_factor)

Shows the normal factor.

Param out_factor

The normal factor if set.

Return

true if the setting is valid, false otherwise.

bool ShowNormalMap (out string out_texture_name)

Shows the normal map name.

Param out_texture_name

The normal map name if set.

Return

true if the setting is valid, false otherwise.

bool ShowOcclusionFactor (out float out_factor)

Shows the occlusion factor.

Param out_factor

The occlusion if set.

Return

true if the setting is valid, false otherwise.

bool ShowOcclusionMap (out string out_texture_name, out HPS.Material.Texture.ChannelMapping out_channel)

Shows the occlusion map name.

Param out_texture_name

The occlusion map name if set.

Param out_channel

The channel.

Return

true if the setting is valid, false otherwise.

bool ShowRoughnessFactor (out float out_factor)

Shows the roughness factor.

Param out_factor

The roughness if set.

Return

true if the setting is valid, false otherwise.

bool ShowRoughnessMap (out string out_texture_name, out HPS.Material.Texture.ChannelMapping out_channel)

Shows the roughness map name.

Param out_texture_name

The roughness map name if set.

Param out_channel

The channel.

Return

true if the setting is valid, false otherwise.

HPS.PBRMaterialKit UnsetAlphaFactor ()

Removes the alpha factor from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetBaseColorFactor ()

Removes the base color factor from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetBaseColorMap ()

Removes the base color map from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetEmissiveMap ()

Removes the emissive map from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetMetalnessFactor ()

Removes the metalness factor from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetMetalnessMap ()

Removes the metalness map from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetNormalFactor ()

Removes the normal factor from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetNormalMap ()

Removes the normal map from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetOcclusionFactor ()

Removes the occlusion factor from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetOcclusionMap ()

Removes the occlusion map from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetRoughnessFactor ()

Removes the roughness factor from this kit type.

Return

A reference to this object.

HPS.PBRMaterialKit UnsetRoughnessMap ()

Removes the roughness map from this kit type.

Return

A reference to this object.

Public Static Functions

HPS.PBRMaterialKit GetDefault ()

Creates a HPS.PBRMaterialKit 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 PBRMaterialKit with the default settings.

class Performance : public IDisposable

Public Types

enum DisplayLists

Display lists are a GPU hardware caching technology which can greatly improve rendering performance. The underlying implementation depends on the 3D driver being used.

Values:

None
Geometry
Segment
enum StaticConditions

StaticConditions indicates how conditional expressions will be handled inside a StaticModel. A model segment which has no conditionals expressions, or only has expressions satisfied by conditions set within the segment should not be affected by this.

Values:

Independent
Single
enum StaticModel

StaticModel is a technique used for improving rendering performance. This setting tells the system that the segment tree affected by the attribute will remain ‘static’ or unchanging. The system will create an internal, optimized segment tree which is used for rendering in lieu of the normal tree. The original segment tree is untouched and can be used normally.If changes are made in a part of the segment tree that is subject to the static model attribute, the internal tree will be regenerated, with a few exceptions: If geometry is deleted or edited, the internal tree will not need to be regenerated.

Values:

None

No static model will be used, rendering will be done from the segment tree.

Attribute

An optimized segment tree will be used for rendering. The tree will be sorted by attributes.

AttributeSpatial

An optimized segment tree will be used for rendering. The tree will be sorted based on both attributes and spatial locations of objects. This is particularly useful for very large, spatially dispersed models.

class PerformanceControl : public HPS.Control

The HPS.PerformanceControl class is a smart pointer that is tied to a database object. This object is used to enable and disable performance-related attributes, such as display lists and static model.

This table lists default values for the various segment attributes accessible from HPS.PerformanceControl.

Public Functions

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.

PerformanceControl (HPS.PerformanceControl in_that)

Initializes a control tied to the same object as in_that.

PerformanceControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

HPS.PerformanceControl SetDisplayLists ()

Sets the display list state. Display lists enables the drivers to cache data in video card memory for improved rendering performance.

Return

A reference to this object.

HPS.PerformanceControl SetDisplayLists (HPS.Performance.DisplayLists in_display_list)

Sets the display list state. Display lists enables the drivers to cache data in video card memory for improved rendering performance.

Param in_display_list

The type of display lists, if any, that should be used.

Return

A reference to this object.

HPS.PerformanceControl SetStaticConditions (HPS.Performance.StaticConditions in_conditions)

Sets the mode for processing conditional expressions inn a static tree.

Param in_conditions

The type of conditional processing that should be used.

Return

A reference to this object.

HPS.PerformanceControl SetStaticModel (HPS.Performance.StaticModel in_model_type)

Sets the static tree state. This will create a compiled draw tree for the scene which should result in better rendering performance. It is important to note that the compiled tree will need to be regenerated if a change occurs within the segment tree.

Param in_model_type

The type of static tree, if any, that should be used.

Return

A reference to this object.

HPS.PerformanceControl SetTextHardwareAcceleration (bool in_state)

Sets text hardware acceleration. Transformable text may be included if segment-level display lists are active.

Param in_state

Whether to include transformable text in segment-level display lists

Return

A reference to this object.

bool ShowDisplayLists (out HPS.Performance.DisplayLists out_display_list)

Shows the display list state.

Param out_display_list

The type of display lists, if any.

Return

true if the setting is valid, false otherwise.

bool ShowStaticConditions (out HPS.Performance.StaticConditions out_conditions)

Shows the static conditions state.

Param out_conditions

The type of conditional expression processing

Return

true if the setting is valid, false otherwise.

bool ShowStaticModel (out HPS.Performance.StaticModel out_model_type)

Shows the static model state.

Param out_model_type

The type of static tree, if any

Return

true if the setting is valid, false otherwise.

bool ShowTextHardwareAcceleration (out bool out_state)

Shows the text hardware acceleration state.

Param out_state

The text hardware acceleration setting, if any.

Return

true if the setting is valid, false otherwise.

HPS.PerformanceControl UnsetDisplayLists ()

Removes the display list setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PerformanceKit.GetDefault().

Return

A reference to this object.

HPS.PerformanceControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by PerformanceKit.GetDefault().

Return

A reference to this object.

HPS.PerformanceControl UnsetStaticConditions ()

Removes the static condition state. setting as specified by PerformanceKit.GetDefault().

Return

A reference to this object.

HPS.PerformanceControl UnsetStaticModel ()

Removes the static model state, releasing the compiled draw tree. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PerformanceKit.GetDefault().

Return

A reference to this object.

HPS.PerformanceControl UnsetTextHardwareAcceleration ()

Removes the text hardware acceleration setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PerformanceKit.GetDefault().

Return

A reference to this object.

class PerformanceKit : public HPS.Kit

The HPS.PerformanceKit class is a user space object, useful for carrying a group of attribute settings related to performance settings. Calling HPS.PerformanceKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.PerformanceKit in_kit)

Check if the source PerformanceKit is equivalent to this object.

Param in_kit

The source PerformanceKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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.

PerformanceKit ()

Initializes an empty kit.

PerformanceKit (HPS.PerformanceKit in_kit)

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

Param in_kit

The source object to copy.

void Set (HPS.PerformanceKit in_kit)

Copies the source PerformanceKit into this object.

Param in_kit

The source object to copy.

HPS.PerformanceKit SetDisplayLists ()

Sets the display list state. Display lists enables the drivers to cache data in video card memory for improved rendering performance.

Return

A reference to this object.

HPS.PerformanceKit SetDisplayLists (HPS.Performance.DisplayLists in_display_list)

Sets the display list state. Display lists enables the drivers to cache data in video card memory for improved rendering performance.

Param in_display_list

The type of display lists, if any, that should be used.

Return

A reference to this object.

HPS.PerformanceKit SetStaticConditions (HPS.Performance.StaticConditions in_conditions)

Sets the static conditions handling mode

Param in_conditions

The type of handling that should be used.

Return

A reference to this object.

HPS.PerformanceKit SetStaticModel (HPS.Performance.StaticModel in_model_type)

Sets the static tree state. This will create a compiled draw tree for the scene which should result in better rendering performance. It is important to note that the compiled tree will need to be regenerated if a change occurs within the segment tree.

Param in_model_type

The type of static tree, if any, that should be used.

Return

A reference to this object.

HPS.PerformanceKit SetTextHardwareAcceleration (bool in_state)

Sets text hardware acceleration. Transformable text may be included if segment-level display lists are active.

Param in_state

Whether to include transformable text in segment-level display lists

Return

A reference to this object.

void Show (out HPS.PerformanceKit out_kit)

Copies this object into the given PerformanceKit.

Param out_kit

The PerformanceKit to populate with the contents of this object.

bool ShowDisplayLists (out HPS.Performance.DisplayLists out_display_list)

Shows the display list state.

Param out_display_list

The type of display lists, if any.

Return

true if the setting is valid, false otherwise.

bool ShowStaticConditions (out HPS.Performance.StaticConditions out_conditions)

Shows the static conditions handling state.

Param out_conditions

The type of static condition handline

Return

true if the setting is valid, false otherwise.

bool ShowStaticModel (out HPS.Performance.StaticModel out_model_type)

Shows the static model state.

Param out_model_type

The type of static tree, if any

Return

true if the setting is valid, false otherwise.

bool ShowTextHardwareAcceleration (out bool out_state)

Shows the text hardware acceleration state.

Param out_state

The text hardware acceleration setting, if any.

Return

true if the setting is valid, false otherwise.

HPS.PerformanceKit UnsetDisplayLists ()

Removes the display list setting.

Return

A reference to this object.

HPS.PerformanceKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.PerformanceKit UnsetStaticConditions ()

Removes the static condition handling state

Return

A reference to this object.

HPS.PerformanceKit UnsetStaticModel ()

Removes the static model state, releasing the compiled draw tree.

Return

A reference to this object.

HPS.PerformanceKit UnsetTextHardwareAcceleration ()

Removes the text hardware acceleration setting.

Return

A reference to this object.

Public Static Functions

HPS.PerformanceKit GetDefault ()

Creates a PerformanceKit 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 PerformanceKit with the default settings.

struct PixelPoint
class PixelPointArray : public HPS::InternalHPSBlittableArray<HPS.PixelPoint>
struct Plane
struct Plane2D
class PlaneArray : public HPS::InternalHPSBlittableArray<HPS.Plane>
struct Point
struct Point2D
class PointArray : public HPS::InternalHPSBlittableArray<HPS.Point>
class PointArrayArray : public IDisposable
class PointArrayArrayArray : public IDisposable
class PointCloud : public IDisposable

The PointCloud class contains objects and enumerations used for importing and exporting XYZ, PTX, and PTS files.

class File : public IDisposable

The File class provides functions to import and export XYZ, PTX, and PTS files.

Public Static Functions

HPS.PointCloud.ImportNotifier Import (string in_file_name, HPS.PointCloud.ImportOptionsKit in_options)

Performs an asynchronous import of the specified XYZ, PTX, or PTS file with the provided options. May throw an IOException prior to starting the asynchronous import.

Param in_file_name

Name of XYZ, PTX, or PTS file to import.

Param in_options

Options controlling the import of the XYZ, PTX, or PTS file (e.g., segment to import into).

Return

An ImportNotfier object that can be used to query the import progress and status.

class ImportNotifier : public HPS.IONotifier

The ImportNotifier class is a smart-pointer that is associated with an asynchronous file import. It is used to interact with an ongoing import or get the results from a completed import.

Public Functions

void Assign (HPS.PointCloud.ImportNotifier in_that)

Associate this ImportNotifier with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier for the assignment.

HPS.PointCloud.ImportResultsKit GetResults ()

Get the ImportResultsKit for the file import. Throws an IOException if the import is not complete or was not successful.

Return

The ImportResultsKit for a successful file import.

ImportNotifier ()

The default constructor creates an ImportNotifier object which is not associated with any file import.

ImportNotifier (HPS.IONotifier in_that)

The conversion constructor creates a new derived ImportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ImportNotifier will be invalid.

Param in_that

The source IONotifier to copy.

ImportNotifier (HPS.PointCloud.ImportNotifier in_that)

The copy constructor creates a new ImportNotifier object that is associated with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier to copy.

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.

class ImportOptionsKit : public HPS.Kit

The ImportOptionsKit class contains any settings controlling the import of XYZ, PTX, and PTS files.

Public Functions

override bool Empty ()

Indicates whether this ImportOptionsKit has any values set on it.

Return

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

bool Equals (HPS.PointCloud.ImportOptionsKit in_kit)

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to compare to this ImportOptionsKit.

Return

true if the objects are equivalent, false otherwise.

ImportOptionsKit ()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit (HPS.PointCloud.ImportOptionsKit in_kit)

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

Param in_kit

The source ImportOptionsKit to copy.

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.PointCloud.ImportOptionsKit in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to copy.

HPS.PointCloud.ImportOptionsKit SetPointColor (HPS.RGBColor in_color)

Sets the point color for each point in the cloud. If the point cloud explicitly provides colors for points this option will be ignored unless in_override is specified. If the file only describes an intensity for each point the color provided will be multilplied by the intensity to resolve the final point coloration unless in_override is specified in which case the intensity will be ignored. If the file describes no intensity or color (or in_override is specified), this will set the vertex color at the containing segment.

Param in_color

The color to use.

Return

A reference to this ImportOptionsKit.

HPS.PointCloud.ImportOptionsKit SetPointColor (HPS.RGBColor in_color, bool in_override)

Sets the point color for each point in the cloud. If the point cloud explicitly provides colors for points this option will be ignored unless in_override is specified. If the file only describes an intensity for each point the color provided will be multilplied by the intensity to resolve the final point coloration unless in_override is specified in which case the intensity will be ignored. If the file describes no intensity or color (or in_override is specified), this will set the vertex color at the containing segment.

Param in_color

The color to use.

Param in_override

Specifies whether to override the point colors specified in the file (if any) with the color provided

Return

A reference to this ImportOptionsKit.

HPS.PointCloud.ImportOptionsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment where the point cloud data will be imported into. If no segment is specified, a root segment will be created for this purpose during import.

Param in_segment

Segment the point cloud data will be imported into.

Return

A reference to this ImportOptionsKit.

void Show (out HPS.PointCloud.ImportOptionsKit out_kit)

Copies this ImportOptionsKit into the given ImportOptionsKit.

Param out_kit

The ImportOptionsKit to populate with the contents of this ImportOptionsKit.

bool ShowPointColor (out HPS.RGBColor out_color, out bool out_override)

Shows the point color to use during import.

Param out_color

The color being used.

Param out_override

Specifies whether the point colors specified in the file (if any) will be override with the color provided

Return

true if a root segment was specified, false otherwise.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment where the HSF data will be imported into.

Param out_segment

Segment the HSF data will be imported into.

Return

true if a root segment was specified, false otherwise.

HPS.PointCloud.ImportOptionsKit UnsetEverything ()

Removes all settings from this ImportOptionsKit.

Return

A reference to this ImportOptionsKit.

HPS.PointCloud.ImportOptionsKit UnsetPointColor ()

Remove the point color to use during import.

Return

A reference to this ImportOptionsKit.

HPS.PointCloud.ImportOptionsKit UnsetSegment ()

Removes the root segment speciyfing where the point cloud data will be imported into.

Return

A reference to this ImportOptionsKit.

class ImportResultsKit : public HPS.Kit

The ImportResultsKit class contains the results of a successful point cloud import.

Public Functions

override bool Empty ()

Indicates whether this ImportResultsKit has any values set on it.

Return

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

bool Equals (HPS.PointCloud.ImportResultsKit in_kit)

Check if the source ImportResultsKit is equivalent to this ImportResultsKit.

Param in_kit

The source ImportResultsKit to compare to this ImportResultsKit.

Return

true if the objects are equivalent, false otherwise.

ImportResultsKit ()

The default constructor creates an empty ImportResultsKit object.

ImportResultsKit (HPS.PointCloud.ImportResultsKit in_kit)

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

Param in_kit

The source ImportResultsKit to copy.

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.PointCloud.ImportResultsKit in_kit)

Copies the source ImportResultsKit into this ImportResultsKit.

Param in_kit

The source ImportResultsKit to copy.

HPS.PointCloud.ImportResultsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment which the point cloud data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an point cloud import.

Param in_segment

Segment the point cloud data was imported into.

Return

A reference to this ImportResultsKit.

void Show (out HPS.PointCloud.ImportResultsKit out_kit)

Copies this ImportResultsKit into the given ImportResultsKit.

Param out_kit

The ImportResultsKit to populate with the contents of this ImportResultsKit.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment which the point cloud data was imported into. This was either the root segment specified by the user in the ImportOptionsKit passed to OBJ.File.Import, or the root segment that was created for this purpose during import.

Param out_segment

Segment the point cloud data was imported into.

Return

true if a root segment was specified, false otherwise.

HPS.PointCloud.ImportResultsKit UnsetEverything ()

Removes all settings from this ImportResultsKit.

Return

A reference to this ImportResultsKit.

HPS.PointCloud.ImportResultsKit UnsetSegment ()

Removes the root segment which the point cloud data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an point cloud import.

Return

A reference to this ImportResultsKit.

class PolygonKey : public HPS.GeometryKey

The PolygonKey class is a smart pointer to a database object. It is a handle to a polygon created by SegmentKey.InsertPolygon.

Public Functions

void Consume (HPS.PolygonKit in_kit)

Completely replaces all settings on this PolygonKit with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this PolygonKit.

HPS.PolygonKey EditPointsByDeletion (ulong in_offset, ulong in_count)

Remove the specified number of points from this PolygonKey at the specified offset.

Param in_offset

The offset into the points for PolygonKey at which to remove points.

Param in_count

The number of points to remove.

Return

A reference to this PolygonKey.

HPS.PolygonKey EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Add points to this PolygonKey at the specified offset.

Param in_offset

The offset into the points for PolygonKey at which to add points.

Param in_points

The points to add to this PolygonKey.

Return

A reference to this PolygonKey.

HPS.PolygonKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replace the specified number of points for this PolygonKey at the specified offset.

Param in_offset

The offset into the points for PolygonKey at which to start replacing points.

Param in_points

The points to use to replace those on this PolygonKey.

Return

A reference to this PolygonKey.

ulong GetPointCount ()

Retrieves the number of points in this polygon.

Return

The number of points in this polygon.

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.

PolygonKey ()

The default constructor creates an uninitialized PolygonKey object. The Type() function will return Type.None.

PolygonKey (HPS.Key in_that)

This constructor creates an PolygonKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a polygon key. Otherwise the copy will fail and the resulting PolygonKey will be invalid.

PolygonKey (HPS.PolygonKey in_that)

The copy constructor creates a PolygonKey object that shares the underlying smart-pointer of the source PolygonKey.

Param in_that

The source PolygonKey to copy.

void Set (HPS.PolygonKit in_kit)

Replace those settings on this PolygonKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this PolygonKey.

HPS.PolygonKey SetPoints (HPS.Point[] in_points)

Replace the points on this PolygonKey with the specified points.

Param in_points

The points to use to replace those on this PolygonKey.

Return

A reference to this PolygonKey.

void Show (out HPS.PolygonKit out_kit)

Copy the contents of this PolygonKey into the specified kit.

Param out_kit

The kit to populate with the contents of this PolygonKey.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this PolygonKey.

Param out_points

The points for this PolygonKey.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this PolygonKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this PolygonKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this PolygonKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this PolygonKey.

Return

true if all requested points were set, false otherwise.

HPS.Point[] Triangulate ()

Divides the polygon into triangles. Note that the data associated with this polygon is left untouched. If the polygon is self-intersecting, the intersection points will be calculated and taken into account If an error is encountered while triangulating the polygon, the returned array will be empty.

Return

An array of points. Each triplet of points represents one of the triangle that was computed. For example, the returned values 0th, 1st and 2nd points represent the first triangle, and the 3rd, 4th and 5th points represent second one, and so forth.

class PolygonKit : public HPS.Kit

The PolygonKit class is a user space object. It is a kit analog to a PolygonKey.

Public Functions

void Consume (HPS.PolygonKit in_kit)

Copies the source PolygonKit into this LineKit and resets the source kit.

Param in_kit

The source PolygonKit to consume.

HPS.PolygonKit EditPointsByDeletion (ulong in_offset, ulong in_count)

Remove the specified number of points from this PolygonKit at the specified offset.

Param in_offset

The offset into the points for PolygonKit at which to remove points.

Param in_count

The number of points to remove.

Return

A reference to this PolygonKit.

HPS.PolygonKit EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Add points to this PolygonKit at the specified offset.

Param in_offset

The offset into the points for PolygonKit at which to add points.

Param in_points

The points to add to this PolygonKit.

Return

A reference to this PolygonKit.

HPS.PolygonKit EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replace the specified number of points for this PolygonKit at the specified offset.

Param in_offset

The offset into the points for PolygonKit at which to start replacing points.

Param in_points

The points to use to replace those on this PolygonKit.

Return

A reference to this PolygonKit.

override bool Empty ()

Indicates whether this PolygonKit has any values set on it.

Return

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

bool Equals (HPS.PolygonKit in_kit)

Check if the source PolygonKit is equivalent to this PolygonKit.

Param in_kit

The source PolygonKit to compare to this PolygonKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetPointCount ()

Retrieves the number of points in this polygon.

Return

The number of points in this polygon.

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.

PolygonKit ()

The default constructor creates an empty PolygonKit object.

PolygonKit (HPS.PolygonKit in_kit)

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

Param in_kit

The source PolygonKit to copy.

void Set (HPS.PolygonKit in_kit)

Copies the source PolygonKit into this PolygonKit.

Param in_kit

The source PolygonKit to copy.

HPS.PolygonKit SetPoints (HPS.Point[] in_points)

Sets the points for this PolygonKit.

Param in_points

The points for this PolygonKit.

Return

A reference to this PolygonKit.

HPS.PolygonKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the PolygonKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.PolygonKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.PolygonKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.PolygonKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.PolygonKit out_kit)

Copies this PolygonKit into the given PolygonKit.

Param out_kit

The PolygonKit to populate with the contents of this PolygonKit.

bool ShowPoints (out HPS.Point[] out_points)

Shows the points for this PolygonKit.

Param out_points

The points for this PolygonKit.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this PolygonKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this PolygonKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this PolygonKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this PolygonKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

HPS.Point[] Triangulate ()

Divides the polygon into triangles. Note that the data in this kit is left untouched. If the polygon is self-intersecting, the intersection points will be calculated and taken into account If an error is encountered while triangulating the polygon, the returned array will be empty.

Return

An array of points. Each triplet of points represents one of the triangle that was computed. For example, the returned values 0th, 1st and 2nd points represent the first triangle, and the 3rd, 4th and 5th points represent second one, and so forth.

HPS.PolygonKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.PolygonKit UnsetEverything ()

Removes all settings from this PolygonKit.

Return

A reference to this PolygonKit.

HPS.PolygonKit UnsetPoints ()

Removes the points for this PolygonKit.

Return

A reference to this PolygonKit.

HPS.PolygonKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.PolygonKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.PolygonKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class PolygonShapeElement : public HPS.ShapeElement

The PolygonShapeElement class is a user space object. It is used to define polygon elements to make up shapes for text backgrounds.

Public Functions

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.

PolygonShapeElement ()

The default constructor creates an empty PolygonShapeElement object.

PolygonShapeElement (HPS.PolygonShapeElement in_that)

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

Param in_that

The source PolygonShapeElement to copy.

PolygonShapeElement (HPS.ShapeElement in_that)

This constructor creates a PolygonShapeElement object that contains the same settings as the source ShapeElement. The copy will only be successful if the source shape element is really an upcast of a polygon shape element. Otherwise the copy will fail and the resulting PolygonShapeElement will be invalid.

Param in_that

The source ShapeElement to copy.

PolygonShapeElement (HPS.ShapePoint[] in_points)

This constructor creates a PolygonShapeElement with the specified point array.

Param in_points

The points for the polygon.

HPS.PolygonShapeElement SetPoints (HPS.ShapePoint[] in_points)

Sets the points for this PolygonShapeElement.

Param in_points

The points for the polygon.

bool ShowPoints (out HPS.ShapePoint[] out_points)

Shows the points for this PolygonShapeElement.

Param out_points

The points for the polygon.

Return

true if points were set, false otherwise.

class PortfolioControl : public HPS.Control

The PortfolioControl class is a smart pointer that is tied to a database object. Controls are used for manipulating settings within the database.

Public Functions

ulong GetCount ()

Returns the number of portfolios in use here.

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.

bool Pop ()

Removes the top portfolio from the portfolio use stack.

Return

true if a portfolio was present, false otherwise.

bool Pop (out HPS.PortfolioKey out_portfolio)

Removes the top portfolio from the portfolio use stack and gives information about it to the user.

Param out_portfolio

The source portfolio.

Return

true if a portfolio was present, false otherwise.

PortfolioControl (HPS.PortfolioControl in_that)

Initializes a control tied to the same object as in_that.

PortfolioControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

HPS.PortfolioControl Push (HPS.PortfolioKey in_portfolio)

Adds a portfolio to the top of the portfolio use stack. Existing portfolios in use are unmodified but portfolios on top take precedence if there are conflicting definitions.

Param in_portfolio

The portfolio to push to the top of the portfolio use stack.

Return

A reference to this object.

HPS.PortfolioControl Set (HPS.PortfolioKey in_portfolio)

Sets a portfolio as the only portfolio in use, replacing any existing portfolios in use.

Param in_portfolio

A portfolio containing definitions that should be imported.

Return

A reference to this object.

HPS.PortfolioControl Set (HPS.PortfolioKey[] in_portfolios)

Sets a collection of portfolios as the only portfolios in use, replacing any existing portfolios in use.

Param in_portfolios

An array of source portfolios to be used.

Return

A reference to this object.

bool Show (out HPS.PortfolioKey[] out_portfolios)

Shows all portfolios in use on this segment.

Param out_portfolios

Keys to all portfolios in use on this segment.

Return

true if any portfolio was present, false otherwise.

bool ShowTop (out HPS.PortfolioKey out_portfolio)

Shows the top portfolio on the portfolio use stack.

Param out_portfolio

The portfolio on top of the stack.

Return

true if a portfolio was present, false otherwise.

HPS.PortfolioControl UnsetEverything ()

Removes all portfolios from the portfolio use stack.

Return

A reference to this object.

HPS.PortfolioControl UnsetTop ()

Removes the top portfolio from the portfolio use stack.

Return

A reference to this object.

class PortfolioKey : public HPS.Key

The PortfolioKey class is a smart pointer to a database object. Portfolios are special objects that can only contain definitions. A segment can use a portfolio to gain access to the definitions it contains.

Public Functions

HPS.CubeMapDefinition DefineCubeMap (string in_name, HPS.ImageDefinition in_negative_z, HPS.ImageDefinition in_positive_z, HPS.ImageDefinition in_negative_x, HPS.ImageDefinition in_positive_x, HPS.ImageDefinition in_negative_y, HPS.ImageDefinition in_positive_y)

Creates a new cube map definition in this portfolio with the specified name, based on the specified images and with the default texture options. This will replace any existing cube map of the same name within this portfolio. The image sources must be defined within the same portfolio, if they are not, the returned definition will be invalid.

Param in_name

UTF8-encoded name for the new cube map definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_negative_z

The source image for the negative z-axis for the new cube map definition.

Param in_positive_z

The source image for the positive z-axis for the new cube map definition.

Param in_negative_x

The source image for the negative x-axis for the new cube map definition.

Param in_positive_x

The source image for the positive x-axis for the new cube map definition.

Param in_negative_y

The source image for the negative y-axis for the new cube map definition.

Param in_positive_y

The source image for the positive y-axis for the new cube map definition.

Return

A newly created CubeMapDefinition.

HPS.CubeMapDefinition DefineCubeMap (string in_name, HPS.ImageDefinition in_negative_z, HPS.ImageDefinition in_positive_z, HPS.ImageDefinition in_negative_x, HPS.ImageDefinition in_positive_x, HPS.ImageDefinition in_negative_y, HPS.ImageDefinition in_positive_y, HPS.TextureOptionsKit in_options)

Creates a new cube map definition in this portfolio with the specified name, based on the specified images and with the specified texture options. This will replace any existing cube map of the same name within this portfolio. The image sources must be defined within the same portfolio, if they are not, the returned definition will be invalid.

Param in_name

UTF8-encoded name for the new cube map definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_negative_z

The source image for the negative z-axis for the new cube map definition.

Param in_positive_z

The source image for the positive z-axis for the new cube map definition.

Param in_negative_x

The source image for the negative x-axis for the new cube map definition.

Param in_positive_x

The source image for the positive x-axis for the new cube map definition.

Param in_negative_y

The source image for the negative y-axis for the new cube map definition.

Param in_positive_y

The source image for the positive y-axis for the new cube map definition.

Param in_options

The texture options for the new cube map definition.

Return

A newly created CubeMapDefinition.

HPS.GlyphDefinition DefineGlyph (string in_name, HPS.GlyphKit in_source)

Creates a new glyph definition in this portfolio with the specified name using the source GlyphKit. This will replace any existing glyph of the same name within this portfolio.

Param in_name

UTF8-encoded name for the new glyph definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source GlyphKit for the new glyph definition.

Return

A newly created GlyphDefinition.

HPS.ImageDefinition DefineImage (string in_name, HPS.ImageKit in_source)

Creates a new image definition in this portfolio with the specified name from the source ImageKit. This will replace any existing image of the same name within this portfolio.

Param in_name

UTF8-encoded name for the new image definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source ImageKit for the new image definition.

Return

A newly created ImageDefinition.

HPS.LinePatternDefinition DefineLinePattern (string in_name, HPS.LinePatternKit in_source)

Creates a new line pattern definition in this portfolio with the specified name using the source LinePatternKit. This will replace any existing line pattern of the same name within this portfolio.

Param in_name

UTF8-encoded name for the new line pattern definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source LinePatternKit for the new line pattern definition.

Return

A newly created LinePatternDefinition.

HPS.MaterialPaletteDefinition DefineMaterialPalette (string in_name, HPS.MaterialKit[] in_source)

Creates a new material palette definition in this portfolio with the specified name using the source MaterialKit array. This will replace any existing material palette of the same name within this portfolio.

Param in_name

UTF8-encoded name for the new material palette definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source MaterialKit array for the new material palette definition.

Return

A newly created MaterialPaletteDefinition.

HPS.NamedStyleDefinition DefineNamedStyle (string in_name, HPS.SegmentKey in_style_source)

Creates a new named style definition in this portfolio with the specified name using the source SegmentKey. This will replace any existing named style of the same name within this portfolio.

Param in_name

UTF8-encoded name for the new named style definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_style_source

The source SegmentKey for the new named style definition.

Return

A newly created NamedStyleDefinition.

HPS.ShapeDefinition DefineShape (string in_name, HPS.ShapeKit in_source)

Creates a new sjape definition in this portfolio with the specified name using the source ShapeKit. This will replace any existing shape of the same name within this portfolio.

Param in_name

UTF8-encoded name for the new shape definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source ShapeKit for the new shape definition.

Return

A newly created ShapeDefinition.

HPS.TextureDefinition DefineTexture (string in_name, HPS.ImageDefinition in_source)

Creates a new texture definition in this portfolio with the specified name, based on the specified image and with the default texture options. This will replace any existing texture of the same name within this portfolio. The image source must be defined within the same portfolio, if it is not, the returned definition will be invalid.

Param in_name

UTF8-encoded name for the new texture definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source image for the new texture definition.

Return

A newly created TextureDefinition.

HPS.TextureDefinition DefineTexture (string in_name, HPS.ImageDefinition in_source, HPS.TextureOptionsKit in_options)

Creates a new texture definition in this portfolio with the specified name, based on the specified image and with the specified texture options. This will replace any existing texture of the same name within this portfolio. The image source must be defined within the same portfolio, if it is not, the returned definition will be invalid.

Param in_name

UTF8-encoded name for the new texture definition. If null_ptr or empty string is used for this parameter, a nameless definition will be created.

Param in_source

The source image for the new texture definition.

Param in_options

The texture options for the new texture definition.

Return

A newly created TextureDefinition.

ulong GetCubeMapDefinitionCount ()

return

The number of cube map definitions in this portfolio.

ulong GetDefinitionCount ()

return

The number of definitions in this portfolio.

ulong GetGlyphDefinitionCount ()

return

The number of glyph definitions in this portfolio.

ulong GetImageDefinitionCount ()

return

The number of image definitions in this portfolio.

ulong GetLinePatternDefinitionCount ()

return

The number of line pattern definitions in this portfolio.

ulong GetMaterialPaletteDefinitionCount ()

return

The number of material palette definitions in this portfolio.

ulong GetNamedStyleDefinitionCount ()

return

The number of named style definitions in this portfolio.

ulong GetShapeDefinitionCount ()

return

The number of shape definitions in this portfolio.

ulong GetTextureDefinitionCount ()

return

The number of texture definitions in this portfolio.

HPS.PortfolioKey ImportAllCubeMaps (HPS.PortfolioKey in_portfolio)

Copy all cube map definitions from the specified portfolio into this portfolio. By default, existing cube map definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the cube map definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllCubeMaps (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all cube map definitions from the specified portfolio into this portfolio. By default, existing cube map definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the cube map definitions from.

Param in_replace_existing

Whether to replace existing cube map definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllGlyphs (HPS.PortfolioKey in_portfolio)

Copy all glyph definitions from the specified portfolio into this portfolio. By default, existing glyph definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the glyph definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllGlyphs (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all glyph definitions from the specified portfolio into this portfolio. By default, existing glyph definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the glyph definitions from.

Param in_replace_existing

Whether to replace existing glyph definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllImages (HPS.PortfolioKey in_portfolio)

Copy all image definitions from the specified portfolio into this portfolio. By default, existing image definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the image definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllImages (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all image definitions from the specified portfolio into this portfolio. By default, existing image definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the image definitions from.

Param in_replace_existing

Whether to replace existing image definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllLinePatterns (HPS.PortfolioKey in_portfolio)

Copy all line pattern definitions from the specified portfolio into this portfolio. By default, existing line pattern definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the line pattern definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllLinePatterns (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all line pattern definitions from the specified portfolio into this portfolio. By default, existing line pattern definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the line pattern definitions from.

Param in_replace_existing

Whether to replace existing line pattern definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllMaterialPalettes (HPS.PortfolioKey in_portfolio)

Copy all material palette definitions from the specified portfolio into this portfolio. By default, existing material palette definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the material palette definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllMaterialPalettes (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all material palette definitions from the specified portfolio into this portfolio. By default, existing material palette definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the material palette definitions from.

Param in_replace_existing

Whether to replace existing material palette definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllNamedStyles (HPS.PortfolioKey in_portfolio)

Copy all named style definitions from the specified portfolio into this portfolio. By default, existing named style definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the named style definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllNamedStyles (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all named style definitions from the specified portfolio into this portfolio. By default, existing named style definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the named style definitions from.

Param in_replace_existing

Whether to replace existing named style definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllShapes (HPS.PortfolioKey in_portfolio)

Copy all shape definitions from the specified portfolio into this portfolio. By default, existing shape definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the shape definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllShapes (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all shape definitions from the specified portfolio into this portfolio. By default, existing shape definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the shape definitions from.

Param in_replace_existing

Whether to replace existing shape definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllTextures (HPS.PortfolioKey in_portfolio)

Copy all texture definitions from the specified portfolio into this portfolio. By default, existing texture definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the texture definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportAllTextures (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all texture definitions from the specified portfolio into this portfolio. By default, existing texture definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the texture definitions from.

Param in_replace_existing

Whether to replace existing texture definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.CubeMapDefinition ImportCubeMap (HPS.CubeMapDefinition in_definition)

Copy the specified cube map definition into this portfolio. This will replace an existing cube map definition of the same name.

Param in_definition

The source cube map definition to copy into this portfolio.

Return

A newly created CubeMapDefinition.

HPS.GlyphDefinition ImportGlyph (HPS.GlyphDefinition in_definition)

Copy the specified glyph definition into this portfolio. This will replace an existing glyph definition of the same name.

Param in_definition

The source glyph definition to copy into this portfolio.

Return

A newly created GlyphDefinition.

HPS.ImageDefinition ImportImage (HPS.ImageDefinition in_definition)

Copy the specified image definition into this portfolio. This will replace an existing image definition of the same name.

Param in_definition

The source image definition to copy into this portfolio.

Return

A newly created ImageDefinition.

HPS.LinePatternDefinition ImportLinePattern (HPS.LinePatternDefinition in_definition)

Copy the specified line pattern definition into this portfolio. This will replace an existing line pattern definition of the same name.

Param in_definition

The source line pattern definition to copy into this portfolio.

Return

A newly created LinePatternDefinition.

HPS.MaterialPaletteDefinition ImportMaterialPalette (HPS.MaterialPaletteDefinition in_definition)

Copy the specified material palette definition into this portfolio. This will replace an existing material palette definition of the same name.

Param in_definition

The source material palette definition to copy into this portfolio.

Return

A newly created MaterialPaletteDefinition.

HPS.NamedStyleDefinition ImportNamedStyle (HPS.NamedStyleDefinition in_definition)

Copy the specified named style definition into this portfolio. This will replace an existing named style definition of the same name.

Param in_definition

The source named style definition to copy into this portfolio.

Return

A newly created NamedStyleDefinition.

HPS.PortfolioKey ImportPortfolio (HPS.PortfolioKey in_portfolio)

Copy all definitions from the specified portfolio into this portfolio. By default, existing definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the definitions from.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey ImportPortfolio (HPS.PortfolioKey in_portfolio, bool in_replace_existing)

Copy all definitions from the specified portfolio into this portfolio. By default, existing definitions of the same name within this portfolio will be replaced, unless otherwise specified.

Param in_portfolio

The source portfolio to copy the definitions from.

Param in_replace_existing

Whether to replace existing definitions of the same name. Defaults to true.

Return

A reference to this PortfolioKey.

HPS.ShapeDefinition ImportShape (HPS.ShapeDefinition in_definition)

Copy the specified shape definition into this portfolio. This will replace an existing shape definition of the same name.

Param in_definition

The source shape definition to copy into this portfolio.

Return

A newly created ShapeDefinition.

HPS.TextureDefinition ImportTexture (HPS.TextureDefinition in_definition)

Copy the specified texture definition into this portfolio. This will replace an existing texture definition of the same name.

Param in_definition

The source texture definition to copy into this portfolio.

Return

A newly created TextureDefinition.

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.

PortfolioKey ()

The default constructor creates an uninitialized PortfolioKey object. The Type() function will return Type.None.

PortfolioKey (HPS.Key in_that)

This constructor creates a PortfolioKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an offscreen window. Otherwise the copy will fail and the resulting PortfolioKey will be invalid.

PortfolioKey (HPS.PortfolioKey in_that)

The copy constructor creates a PortfolioKey object that shares the underlying smart-pointer of the source PortfolioKey.

Param in_that

The source PortfolioKey to copy.

bool ShowAllCubeMapDefinitions (out HPS.CubeMapDefinition[] out_definitions)

Shows all cube maps defined within this portfolio.

Param out_definitions

The array of cube maps defined within this portfolio.

Return

true if any cube maps are defined in this portfolio, false otherwise.

bool ShowAllGlyphDefinitions (out HPS.GlyphDefinition[] out_definitions)

Shows all glyphs defined within this portfolio.

Param out_definitions

The array of glyphs defined within this portfolio.

Return

true if any glyphs are defined in this portfolio, false otherwise.

bool ShowAllImageDefinitions (out HPS.ImageDefinition[] out_definitions)

Shows all images defined within this portfolio.

Param out_definitions

The array of images defined within this portfolio.

Return

true if any images are defined in this portfolio, false otherwise.

bool ShowAllLinePatternDefinitions (out HPS.LinePatternDefinition[] out_definitions)

Shows all line patterns defined within this portfolio.

Param out_definitions

The array of line patterns defined within this portfolio.

Return

true if any line patterns are defined in this portfolio, false otherwise.

bool ShowAllMaterialPaletteDefinitions (out HPS.MaterialPaletteDefinition[] out_definitions)

Shows all material palettes defined within this portfolio.

Param out_definitions

The array of material palettes defined within this portfolio.

Return

true if any material palettes are defined in this portfolio, false otherwise.

bool ShowAllNamedStyleDefinitions (out HPS.NamedStyleDefinition[] out_definitions)

Shows all named styles defined within this portfolio.

Param out_definitions

The array of named styles defined within this portfolio.

Return

true if any named styles are defined in this portfolio, false otherwise.

bool ShowAllShapeDefinitions (out HPS.ShapeDefinition[] out_definitions)

Shows all shapes defined within this portfolio.

Param out_definitions

The array of shapes defined within this portfolio.

Return

true if any shapes are defined in this portfolio, false otherwise.

bool ShowAllTextureDefinitions (out HPS.TextureDefinition[] out_definitions)

Shows all textures defined within this portfolio.

Param out_definitions

The array of textures defined within this portfolio.

Return

true if any textures are defined in this portfolio, false otherwise.

bool ShowCubeMapDefinition (string in_name)

Finds the cube map definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the cube map to find in this portfolio.

Return

true if a cube map definition with the specified name was found, false otherwise.

bool ShowCubeMapDefinition (string in_name, out HPS.CubeMapDefinition out_found)

Finds the cube map definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the cube map to find in this portfolio.

Param out_found

The cube map definition from this portfolio with the specified name.

Return

true if a cube map definition with the specified name was found, false otherwise.

bool ShowGlyphDefinition (string in_name)

Finds the glyph definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the glyph to find in this portfolio.

Return

true if a glyph definition with the specified name was found, false otherwise.

bool ShowGlyphDefinition (string in_name, out HPS.GlyphDefinition out_found)

Finds the glyph definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the glyph to find in this portfolio.

Param out_found

The glyph definition from this portfolio with the specified name.

Return

true if a glyph definition with the specified name was found, false otherwise.

bool ShowImageDefinition (string in_name)

Finds the image definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the image to find in this portfolio.

Return

true if an image definition with the specified name was found, false otherwise.

bool ShowImageDefinition (string in_name, out HPS.ImageDefinition out_found)

Finds the image definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the image to find in this portfolio.

Param out_found

The image definition from this portfolio with the specified name.

Return

true if an image definition with the specified name was found, false otherwise.

bool ShowLinePatternDefinition (string in_name)

Finds the line pattern definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the line pattern to find in this portfolio.

Return

true if a line pattern definition with the specified name was found, false otherwise.

bool ShowLinePatternDefinition (string in_name, out HPS.LinePatternDefinition out_found)

Finds the line pattern definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the line pattern to find in this portfolio.

Param out_found

The line pattern definition from this portfolio with the specified name.

Return

true if a line pattern definition with the specified name was found, false otherwise.

bool ShowMaterialPaletteDefinition (string in_name)

Finds the material palette definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the material palette to find in this portfolio.

Return

true if a material palette definition with the specified name was found, false otherwise.

bool ShowMaterialPaletteDefinition (string in_name, out HPS.MaterialPaletteDefinition out_found)

Finds the material palette definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the material palette to find in this portfolio.

Param out_found

The material palette definition from this portfolio with the specified name.

Return

true if a material palette definition with the specified name was found, false otherwise.

bool ShowNamedStyleDefinition (string in_name)

Finds the named style definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the named style to find in this portfolio.

Return

true if a named style definition with the specified name was found, false otherwise.

bool ShowNamedStyleDefinition (string in_name, out HPS.NamedStyleDefinition out_found)

Finds the named style definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the named style to find in this portfolio.

Param out_found

The named style definition from this portfolio with the specified name.

Return

true if a named style definition with the specified name was found, false otherwise.

bool ShowShapeDefinition (string in_name)

Finds the shape definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the shape to find in this portfolio.

Return

true if a shape definition with the specified name was found, false otherwise.

bool ShowShapeDefinition (string in_name, out HPS.ShapeDefinition out_found)

Finds the shape definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the shape to find in this portfolio.

Param out_found

The shape definition from this portfolio with the specified name.

Return

true if a shape definition with the specified name was found, false otherwise.

bool ShowTextureDefinition (string in_name)

Finds the texture definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the texture to find in this portfolio.

Return

true if a texture definition with the specified name was found, false otherwise.

bool ShowTextureDefinition (string in_name, out HPS.TextureDefinition out_found)

Finds the texture definition with the specified name in this portfolio.

Param in_name

UTF8-encoded name of the texture to find in this portfolio.

Param out_found

The texture definition from this portfolio with the specified name.

Return

true if a texture definition with the specified name was found, false otherwise.

HPS.PortfolioKey UndefineCubeMap (string in_name)

Remove the cube map definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the cube map to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineGlyph (string in_name)

Remove the glyph definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the glyph to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineImage (string in_name)

Remove the image definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the image to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineLinePattern (string in_name)

Remove the line pattern definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the line pattern to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineMaterialPalette (string in_name)

Remove the material palette definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the material palette to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineNamedStyle (string in_name)

Remove the named style definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the named style to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineShape (string in_name)

Remove the shape definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the shape to remove.

Return

A reference to this PortfolioKey.

HPS.PortfolioKey UndefineTexture (string in_name)

Remove the texture definition with the specified name from this portfolio.

Param in_name

UTF8-encoded name of the texture to remove.

Return

A reference to this PortfolioKey.

class PortfolioKeyArray : public HPS::InternalHPSArray<HPS.PortfolioKey>
class PostProcessEffects : public IDisposable
class AmbientOcclusion : public IDisposable

Public Types

enum Quality

Ambient Occlusion Quality

Values:

Fastest

Fastest ambient occlusion but lower quality.

Nicest

Nicest looking ambient occlusion but slower.

class Bloom : public IDisposable

Public Types

enum Shape

BloomShape

Values:

Star

Star-shaped bloom.

Radial

Radial bloom.

class PostProcessEffectsControl : public HPS.Control

The HPS.PostProcessEffectsControl class is a smart pointer that is tied to a database object. This object is effective only for the shader-based driver interfaces such as DirectX and OpenGL2. Ambient occlusion, bloom, silhouette edges, and depth of field are all enabled through this control. Default values for the various fields of HPS.PostProcessEffectsControl can be found here.

Public Functions

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.

PostProcessEffectsControl (HPS.PostProcessEffectsControl in_that)

Initializes a control tied to the same object as in_that.

PostProcessEffectsControl (HPS.WindowKey in_seg)

Initializes a control tied to the window segment in_seg.

HPS.PostProcessEffectsControl SetAmbientOcclusion (bool in_state)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (bool in_state, float in_strength)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius, float in_sharpness)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Param in_sharpness

A value from 0.0f to 32.0f where lower values result in more blurred but softer edges and higher values will be blurred less with harder edges yet with more potential for banding. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (float in_strength)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius, float in_sharpness)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Param in_sharpness

A value from 0.0f to 32.0f where lower values result in more blurred but softer edges and higher values will be blurred less with harder edges yet with more potential for banding. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetBloom (bool in_state)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetBloom (bool in_state, float in_strength)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Return

A reference to this object.

HPS.PostProcessEffectsControl SetBloom (bool in_state, float in_strength, uint in_blur)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].

Return

A reference to this object.

HPS.PostProcessEffectsControl SetBloom (bool in_state, float in_strength, uint in_blur, HPS.PostProcessEffects.Bloom.Shape in_shape)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].

Param in_shape

The shape of the bloom effect.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetBloom (float in_strength, uint in_blur, HPS.PostProcessEffects.Bloom.Shape in_shape)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens. The state is implicitly on.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].

Param in_shape

The shape of the bloom effect.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetDepthOfField (bool in_state)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetDepthOfField (bool in_state, float in_strength)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetDepthOfField (bool in_state, float in_strength, float in_near_distance)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetDepthOfField (bool in_state, float in_strength, float in_near_distance, float in_far_distance)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param in_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetDepthOfField (float in_strength, float in_near_distance, float in_far_distance)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp. The state is implicitly on.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param in_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetEyeDomeLighting (bool in_state)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsControl SetEyeDomeLighting (bool in_state, float in_exponent)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsControl SetEyeDomeLighting (bool in_state, float in_exponent, float in_tolerance)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsControl SetEyeDomeLighting (bool in_state, float in_exponent, float in_tolerance, float in_strength)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Param in_strength

A multiplier on the calculated per-pixel occlusion value.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsControl SetEyeDomeLighting (float in_exponent, float in_tolerance, float in_strength)

Controls the shader-based eye-dome lighting effect. The state is implicitly on.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Param in_strength

A multiplier on the calculated per-pixel occlusion value.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsControl SetSilhouetteEdges (bool in_state)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetSilhouetteEdges (bool in_state, float in_tolerance)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Return

A reference to this object.

HPS.PostProcessEffectsControl SetSilhouetteEdges (bool in_state, float in_tolerance, bool in_heavy_exterior)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Param in_heavy_exterior

This option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).

Return

A reference to this object.

HPS.PostProcessEffectsControl SetSilhouetteEdges (float in_tolerance, bool in_heavy_exterior)

Controls the shader-based fast drawing of silhouette edges. The state is implicitly on.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Param in_heavy_exterior

This option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).

Return

A reference to this object.

HPS.PostProcessEffectsControl SetWorldScale (float in_scale)

Sets a world scale value used by post process effects such as ambient occlusion. If not set, scale is computed based on scene bounding.

Param in_scale

Scale value used by post process effect.

Return

A reference to this object.

bool ShowAmbientOcclusion (out bool out_state, out float out_strength, out HPS.PostProcessEffects.AmbientOcclusion.Quality out_quality, out float out_radius, out float out_sharpness)

Shows the ambient occlusion setting.

Param out_state

Whether ambient occlusion should be used.

Param out_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param out_quality

Indicates how much time should be spent improving the visual quality.

Param out_radius

A multiplier for the screen-space search radius.

Param out_sharpness

A value indicating the sharpness of the ambient occlusion edges. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

true if the setting is valid, false otherwise.

bool ShowBloom (out bool out_state, out float out_strength, out uint out_blur, out HPS.PostProcessEffects.Bloom.Shape out_shape)

Shows the bloom setting.

Param out_state

Whether bloom should be used.

Param out_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution.

Param out_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother.

Param out_shape

The shape of the bloom effect.

Return

true if the setting is valid, false otherwise.

bool ShowDepthOfField (out bool out_state, out float out_strength, out float out_near_distance, out float out_far_distance)

Shows the depth of field setting.

Param out_state

Whether depth of field should be used.

Param out_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param out_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param out_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLighting (out bool out_state, out float out_exponent, out float out_tolerance, out float out_strength)

Shows the eye-dome lighting setting.

Param out_state

Whether eye-dome lighting should be used.

Param out_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param out_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Param out_strength

A multiplier on the calculated per-pixel occlusion value.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteEdges (out bool out_state, out float out_tolerance, out bool out_heavy_exterior)

Shows the silhouette edge setting.

Param out_state

Whether silhouette edges should be used.

Param out_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Param out_heavy_exterior

This option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).

Return

true if the setting is valid, false otherwise.

bool ShowWorldScale (out float out_scale)

Shows the world scale setting.

Param out_scale

Scale value used by post process effects.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsControl UnsetAmbientOcclusion ()

Removes any ambient occlusion setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

HPS.PostProcessEffectsControl UnsetBloom ()

Removes a bloom setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

HPS.PostProcessEffectsControl UnsetDepthOfField ()

Removes a depth of field setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

HPS.PostProcessEffectsControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

HPS.PostProcessEffectsControl UnsetEyeDomeLighting ()

Removes an eye-dome lighting setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

HPS.PostProcessEffectsControl UnsetSilhouetteEdges ()

Removes a silhouette edge setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

HPS.PostProcessEffectsControl UnsetWorldScale ()

Removes any world scale setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by PostProcessEffectsKit.GetDefault().

Return

A reference to this object.

class PostProcessEffectsKit : public HPS.Kit

The HPS.PostProcessEffectsKit class is a user space object, useful for carrying a group of attribute settings related to post-process effects. Calling HPS.PostProcessEffectsKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.PostProcessEffectsKit in_kit)

Check if the source PostProcessEffectsKit is equivalent to this object.

Param in_kit

The source PostProcessEffectsKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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.

PostProcessEffectsKit ()

Initializes an empty kit.

PostProcessEffectsKit (HPS.PostProcessEffectsKit in_kit)

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

Param in_kit

The source object to copy.

void Set (HPS.PostProcessEffectsKit in_kit)

Copies the source PostProcessEffectsKit into this object.

Param in_kit

The source object to copy.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius, float in_sharpness)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Param in_sharpness

A value from 0.0f to 32.0f where lower values result in more blurred but softer edges and higher values will be blurred less with harder edges yet with more potential for banding. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius, float in_sharpness)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Param in_sharpness

A value from 0.0f to 32.0f where lower values result in more blurred but softer edges and higher values will be blurred less with harder edges yet with more potential for banding. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state, float in_strength)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state, float in_strength, uint in_blur)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state, float in_strength, uint in_blur, HPS.PostProcessEffects.Bloom.Shape in_shape)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].

Param in_shape

The shape of the bloom effect.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (float in_strength, uint in_blur, HPS.PostProcessEffects.Bloom.Shape in_shape)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens. The state is implicitly on.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].

Param in_shape

The shape of the bloom effect.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state, float in_strength)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state, float in_strength, float in_near_distance)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state, float in_strength, float in_near_distance, float in_far_distance)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param in_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (float in_strength, float in_near_distance, float in_far_distance)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp. The state is implicitly on.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param in_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state, float in_exponent)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state, float in_exponent, float in_tolerance)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state, float in_exponent, float in_tolerance, float in_strength)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion.

Param in_strength

A multiplier on the calculated per-pixel occlusion value. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (float in_exponent, bool in_tolerance, float in_strength)

Controls the shader-based eye-dome lighting effect. The state is implicitly on.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion.

Param in_strength

A multiplier on the calculated per-pixel occlusion value. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (bool in_state)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (bool in_state, float in_tolerance)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (bool in_state, float in_tolerance, bool in_heavy_exterior)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Param in_heavy_exterior

This option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (float in_tolerance, bool in_heavy_exterior)

Controls the shader-based fast drawing of silhouette edges. The state is implicitly on.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Param in_heavy_exterior

This option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).

Return

A reference to this object.

HPS.PostProcessEffectsKit SetWorldScale (float in_scale)

Sets a world scale value used by post process effects such as ambient occlusion. If not set, scale is computed based on scene bounding.

Param in_scale

Scale value used by post process effect.

Return

A reference to this object.

void Show (out HPS.PostProcessEffectsKit out_kit)

Copies this object into the given PostProcessEffectsKit.

Param out_kit

The PostProcessEffectsKit to populate with the contents of this object.

bool ShowAmbientOcclusion (out bool out_state, out float out_strength, out HPS.PostProcessEffects.AmbientOcclusion.Quality out_quality, out float out_radius, out float out_sharpness)

Shows the ambient occlusion setting.

Param out_state

Whether ambient occlusion should be used.

Param out_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param out_quality

Indicates how much time should be spent improving the visual quality.

Param out_radius

A multiplier for the screen-space search radius.

Param out_sharpness

A value indicating the sharpness of the ambient occlusion edges. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

true if the setting is valid, false otherwise.

bool ShowBloom (out bool out_state, out float out_strength, out uint out_blur, out HPS.PostProcessEffects.Bloom.Shape out_shape)

Shows the bloom setting.

Param out_state

Whether bloom should be used.

Param out_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution.

Param out_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother.

Param out_shape

The shape of the bloom effect.

Return

true if the setting is valid, false otherwise.

bool ShowDepthOfField (out bool out_state, out float out_strength, out float out_near_distance, out float out_far_distance)

Shows the depth of field setting.

Param out_state

Whether depth of field should be used.

Param out_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param out_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param out_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLighting (out bool out_state, out float out_exponent, out float out_tolerance, out float out_strength)

Shows the eye-dome lighting setting.

Param out_state

Whether eye-dome lighting should be used.

Param out_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param out_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Param out_strength

A multiplier on the calculated per-pixel occlusion value.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteEdges (out bool out_state, out float out_tolerance, out bool out_heavy_exterior)

Shows the silhouette edge setting.

Param out_state

Whether silhouette edges should be used.

Param out_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn’t, vs disappearing in places they should be.

Param out_heavy_exterior

This option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).

Return

true if the setting is valid, false otherwise.

bool ShowWorldScale (out float out_scale)

Shows the world scale setting.

Param out_scale

Scale value used by post process effects.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsKit UnsetAmbientOcclusion ()

Removes any ambient occlusion setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetBloom ()

Removes a bloom setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetDepthOfField ()

Removes a depth of field setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetEyeDomeLighting ()

Removes an eye-dome lighting setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetSilhouetteEdges ()

Removes a silhouette edge setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetWorldScale ()

Removes any world scale setting.

Return

A reference to this object.

Public Static Functions

HPS.PostProcessEffectsKit GetDefault ()

Creates a PostProcessEffectsKit 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 PostProcessEffectsKit with the default settings.

struct Quaternion

Public Static Functions

Quaternion ComputeRotation (float in_degrees, HPS.Vector in_axis)

Computes a quaternion from a rotation about an axis.

Param in_degrees

The angle in degrees to rotate.

Param in_axis

The axis to rotate about.

Return

The resulting Quaternion object.

Quaternion ComputeRotation (float in_x, float in_y, float in_z)

Computes a quaternion from a rotation around the primary axes.

Param in_x

The number of degrees to rotate around the x-axis.

Param in_y

The number of degrees to rotate around the y-axis.

Param in_z

The number of degrees to rotate around the z-axis.

Return

The resulting Quaternion object.

struct Rectangle
class ReferenceKey : public HPS.GeometryKey

The ReferenceKey class is a smart pointer to a database object. It is a handle to a geometry reference returned by SegmentKey.ReferenceGeometry.

Public Functions

HPS.ModellingMatrixControl GetModellingMatrixControl ()

Gets a control that allows querying and modifying modelling matrices set on this reference.

Return

A control that allows querying and modifying modelling matrices set on this reference.

HPS.Key GetTarget ()

Gets the geometry or segment key that was used to create this ReferenceKey. If multiple geometry are referenced only the first is returned.

Return

The geometry or segment key that was used to create this ReferenceKey.

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.

ReferenceKey ()

The default constructor creates an uninitialized ReferenceKey object. The Type() function will return Type.None.

ReferenceKey (HPS.Key in_that)

This constructor creates an ReferenceKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a reference key. Otherwise the copy will fail and the resulting ReferenceKey will be invalid.

ReferenceKey (HPS.ReferenceKey in_that)

The copy constructor creates a ReferenceKey object that shares the underlying smart-pointer of the source ReferenceKey.

Param in_that

The source ReferenceKey to copy.

HPS.ReferenceKey SetConditionalExpression (HPS.ConditionalExpression in_conditional)

Sets a conditional expression on this ReferenceKey. This will either make an unconditional reference into a conditional reference, or modify the condition for an existing conditional reference. The target geometry or segment referenced by this reference will only be drawn in the owning segment if a condition satisfying the given conditional expression is set above this reference in the tree.

See

SegmentKey.SetCondition

See

ConditionControl.SetCondition

See

ConditionControl.AddCondition

Param in_conditional

The conditional expression for this ReferenceKey.

Return

A reference to this ReferenceKey.

HPS.ReferenceKey SetGeometryMask (HPS.Search.Type[] in_geometry_types)

Sets the masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. Set HPS.Search.Type.Geometry to process all geometry types.

Param in_geometry_types

The geometry types to be processed by this reference.

HPS.ReferenceKey SetMaterialMapping (HPS.MaterialMappingKit in_kit)

Sets the specified material mappings on this ReferenceKey. This function will not override colors set directly on the original geometry. Light colors and Window colors are not valid on a ReferenceKey.

Param in_kit

The material mappings to set on this ReferenceKey.

Return

A reference to this ReferenceKey.

void SetModellingMatrix (HPS.MatrixKit in_kit)

Sets the specified modelling matrix on this reference.

Param in_kit

The modelling matrix to set on this reference.

bool ShowConditionalExpression (out HPS.ConditionalExpression out_conditional)

Shows the conditional expression for this ReferenceKey.

Param out_conditional

The conditional expression for this ReferenceKey.

Return

true if a conditional expression is set on this ReferenceKey, false otherwise.

ulong ShowGeometryMask ()

Gets the count of masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS.Search.Type.Geometry.

Return

A count of masked geometry types from this reference.

ulong ShowGeometryMask (out HPS.Search.Type[] out_geometry_types)

Gets the masked geometry types. Only the geometry types included in the mask will be processed by this ReferenceKey. If no mask was explicitly set the mask size is one and the value is HPS.Search.Type.Geometry.

Param out_geometry_types

The geometry types processed by this reference.

Return

A count of masked geometry types from this reference.

bool ShowMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the material mapping settings on this segment. Returns false if no material mapping settings exist on this ReferenceKey.

bool ShowModellingMatrix (out HPS.MatrixKit out_kit)

Shows the modelling matrix on this reference.

Param out_kit

The modelling matrix set on this reference.

Return

true if a modelling matrix was set, false otherwise.

ulong ShowTargets ()

Gets the count of geometry keys or a segment key targeted by this ReferenceKey.

Return

A count of targeted geometries or a segment from this reference.

ulong ShowTargets (bool masked)

Gets the count of geometry keys or a segment key targeted by this ReferenceKey.

Param masked

If true a geometry mask if present will be applied to the results.

Return

A count of targeted geometries or a segment from this reference.

ulong ShowTargets (out HPS.Key[] out_keys)

Gets the geometries keys or a segment key targeted by this ReferenceKey.

Param out_keys

The keys targeted by this reference.

Return

A count of targeted geometries or segment from this reference and populates out_keys with their keys.

ulong ShowTargets (out HPS.Key[] out_keys, bool masked)

Gets the geometries keys or a segment key targeted by this ReferenceKey.

Param out_keys

The keys targeted by this reference.

Param masked

If true a geometry mask if present will be applied to the results.

Return

A count of targeted geometries or segment from this reference and populates out_keys with their keys.

HPS.ReferenceKey UnsetConditionalExpression ()

Removes the conditional expression on this ReferenceKey. This will turn a conditional reference into an unconditional reference.

Return

A reference to this ReferenceKey.

HPS.ReferenceKey UnsetGeometryMask ()

Resets the masked geometry types on this ReferenceKey to HPS.Search.Type.Geometry.

Return

A reference to this ReferenceKey.

HPS.ReferenceKey UnsetMaterialMapping ()

Removes all material mapping settings from this ReferenceKey.

void UnsetModellingMatrix ()

Removes the modelling matrix on this geometry reference.

class ReferenceKeyArray : public HPS::InternalHPSArray<HPS.ReferenceKey>
struct RGB24Color
struct RGBA32Color
struct RGBAColor
class RGBAColorArray : public HPS::InternalHPSBlittableArray<HPS.RGBAColor>
struct RGBAS32Color
struct RGBColor
class RGBColorArray : public HPS::InternalHPSBlittableArray<HPS.RGBColor>
class Search : public IDisposable

The Search class is a concept class for search-related enum classes.

Public Types

enum Behavior

Enumeration of the search behaviors.

Values:

Exhaustive

Find every instance of the specified types in the specified search space.

FirstMatch

Find the first instance of any of the specified types in the specified search space.

enum Space

Enumeration of which segments to look in when performing a search.

Values:

SegmentOnly

Search the current segment only.

Subsegments

Search the current segment and any subsegments.

SubsegmentsAndIncludes

Search the current segment, any subsegments and any includes.

class SearchOptionsKit : public HPS.Kit

The SearchOptionsKit class is a user space object. It contains options used when performing a search.

Public Functions

override bool Empty ()

Indicates whether this SearchOptionsKit has any values set on it.

Return

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

bool Equals (HPS.SearchOptionsKit in_kit)

Check if the source SearchOptionsKit is equivalent to this SearchOptionsKit.

Param in_kit

The source SearchOptionsKit to compare to this SearchOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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.

SearchOptionsKit ()

The default constructor creates an empty SearchOptionsKit object.

SearchOptionsKit (HPS.SearchOptionsKit in_kit)

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

Param in_kit

The source SearchOptionsKit to copy.

void Set (HPS.SearchOptionsKit in_kit)

Copies the source SearchOptionsKit into this SearchOptionsKit.

Param in_kit

The source SearchOptionsKit to copy.

HPS.SearchOptionsKit SetBehavior (HPS.Search.Behavior in_behavior)

Sets the behavior to use when performing a search.

Param in_behavior

The behavior to use when performing a search.

Return

A reference to this SearchOptionsKit.

HPS.SearchOptionsKit SetCriteria (HPS.Search.Type in_request)

Sets the type of entity to look for when performing a search.

Param in_request

The type of entity to look for.

Return

A reference to this SearchOptionsKit.

HPS.SearchOptionsKit SetCriteria (HPS.Search.Type[] in_requests)

Sets the type of entities to look for when performing a search.

Param in_requests

Array of the entity types to look for.

Return

A reference to this SearchOptionsKit.

HPS.SearchOptionsKit SetSearchSpace (HPS.Search.Space in_search_space)

Sets which segments to look in when performing a search.

Param in_search_space

Which segments to look in when performing a search.

Return

A reference to this SearchOptionsKit.

void Show (out HPS.SearchOptionsKit out_kit)

Copies this SearchOptionsKit into the given SearchOptionsKit.

Param out_kit

The SearchOptionsKit to populate with the contents of this SearchOptionsKit.

bool ShowBehavior (out HPS.Search.Behavior out_behavior)

Shows the behavior to use when performing a search.

Param out_behavior

The behavior to use when performing a search.

Return

true if a behavior was set, false otherwise.

bool ShowCriteria (out HPS.Search.Type[] out_types)

Shows the entity types to look for when performing a search.

Param out_types

Array of the entity types to look for.

Return

true if the array is valid, false otherwise.

bool ShowSearchSpace (out HPS.Search.Space out_search_space)

Shows which segments to look in when performing a search.

Param out_search_space

Which segments to look in when performing a search.

Return

true if the search space is valid, false otherwise.

HPS.SearchOptionsKit UnsetBehavior ()

Removes the behavior to use when performing a search.

Return

A reference to this SearchOptionsKit.

HPS.SearchOptionsKit UnsetCriteria ()

Removes the entity types to look for when performing a search.

Return

A reference to this SearchOptionsKit.

HPS.SearchOptionsKit UnsetEverything ()

Removes all settings from this SearchOptionsKit.

Return

A reference to this SearchOptionsKit.

HPS.SearchOptionsKit UnsetSearchSpace ()

Removes which segments to look in when performing a search.

Return

A reference to this SearchOptionsKit.

Public Static Functions

HPS.SearchOptionsKit GetDefault ()

Creates a SearchOptionsKit 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 SearchOptionsKit with the default settings.

class SearchResults : public HPS.Object

The SearchResults class is a smart-pointer to a database object. It contains the results of a Find operation.

Public Functions

void Assign (HPS.SearchResults in_search_results)

Share the underlying smart-pointer if the assignment source. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_search_results

The source of the assignment.

ulong GetCount ()

Gets the number of items that were found in the associated search.

Return

The number of unique items found.

HPS.SearchResultsIterator GetIterator ()

Returns a SearchResultsIterator used to iterate through the found search results.

Return

An iterator pointing to the beginning of the search results list.

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.

override void Reset ()

Resets this object to its initial, uninitialized state.

SearchResults (HPS.SearchResults in_search_results)

The copy constructor creates a new SearchResults object that shares the underlying smart-pointer of the source.

Param in_search_results

The source of the copy.

class SearchResultsIterator : public HPS.Object

An iterator used for traversing results from a search on an associated SearchResults object.

Public Functions

HPS.Key GetItem ()

Returns the item that this iterator is currently pointing at. Throws exception if iterator is not valid. This method is functionally equivalent to the overloaded operator*.

Return

The current item.

HPS.Search.Type[] GetResultTypes ()

Retrieves the search criteria that were met for the current search item pointed to by this iterator.

Return

An array of search types for the current item.

bool IsValid ()

Queries the validity of this iterator location. Invalid locations would include uninitialized iterators and iterators that had walked past the last element.

Return

true if this iterator is pointing to a valid item, false otherwise.

void Next ()

Advances the iterator to the next search result item

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.

override void Reset ()

Resets iterator to the beginning of the associated search results.

SearchResultsIterator ()

The default constructor creates a new SearchResultsIterator object that is not associated with any SearchResults object.

SearchResultsIterator (HPS.SearchResultsIterator in_search_results_iterator)

The copy constructor initializes a new SearchResultsIterator object that is associated with the same SearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Param in_search_results_iterator

The source of the copy.

void Set (HPS.SearchResultsIterator in_search_results_iterator)

Copies a SearchResultsIterator object, associating this object with the same SearchResults object as the source and at the same location in the results. Subsequent changes to either iterator will not affect the other. This method is functionally equivalent to the overloaded assignment operator except for the return value.

Param in_search_results_iterator

The source of the copy.

class SearchTypeArray : public HPS.InternalHPSBlittableArray<HPS.Search.Type>
class SegmentKey : public HPS.Key

The SegmentKey class is a smart pointer to a database object. Segments are the nodes in the scene graph. They can contain attributes, geometry, or other segments, among other things.

Subclassed by HPS.WindowKey

Public Functions

HPS.SegmentKey Down (string in_segment_name)

Returns the segment contained by this key with name of in_segment_name. If the segment does not exist and the flag in_create_if_not_present is not set, the key returned will be uninitialized.

HPS.SegmentKey Down (string in_segment_name, bool in_create_if_not_present)

Returns the segment contained by this key with name of in_segment_name. If the segment does not exist and the flag in_create_if_not_present is not set, the key returned will be uninitialized.

ulong Find (HPS.Search.Type in_request, HPS.Search.Space in_search_space, out HPS.SearchResults out_results)

Searches in_search_space for in_request and returns a handle to the results.

ulong Find (HPS.Search.Type[] in_requests, HPS.Search.Space in_search_space, out HPS.SearchResults out_results)

Searches in_search_space for in_request and returns a handle to the results.

ulong Find (HPS.SearchOptionsKit in_options)

Searches starting at this segment using in_options, returns count.

ulong Find (HPS.SearchOptionsKit in_options, out HPS.SearchResults out_results)

Searches starting at this segment using in_options and writes found objects into out_results, returns count.

void Flush ()

Searches in_search_space for in_type_to_remove and deletes all instances from the segment(s).

void Flush (HPS.Search.Type in_type_to_remove)

Searches in_search_space for in_type_to_remove and deletes all instances from the segment(s).

void Flush (HPS.Search.Type in_type_to_remove, HPS.Search.Space in_search_space)

Searches in_search_space for in_type_to_remove and deletes all instances from the segment(s).

void Flush (HPS.Search.Type[] in_types_to_remove)

Searches in_search_space for in_types_to_remove and deletes all instances from the segment(s).

void Flush (HPS.Search.Type[] in_types_to_remove, HPS.Search.Space in_search_space)

Searches in_search_space for in_types_to_remove and deletes all instances from the segment(s).

HPS.AttributeLockControl GetAttributeLockControl ()

Returns a control that allows the user to manipulate and query details of the attribute locks on this segment.

HPS.BoundingControl GetBoundingControl ()

Returns a control that allows the user to manipulate and query details of the bounding control on this segment.

HPS.CameraControl GetCameraControl ()

return

A control that allows the user to manipulate and query details of the camera attribute on this segment.

HPS.ColorInterpolationControl GetColorInterpolationControl ()

return

A control that allows the user to manipulate and query details of the color interpolation attributes on this segment.

HPS.ConditionControl GetConditionControl ()

return

A control that allows the user to manipulate and query details of conditions on this segment.

HPS.ContourLineControl GetContourLineControl ()

return

A control that allows the user to manipulate and query details of the contour line attributes on this segment.

HPS.CullingControl GetCullingControl ()

Returns a control that allows the user to manipulate and query details of the culling attribute on this segment.

HPS.CurveAttributeControl GetCurveAttributeControl ()

Returns a control that allows the user to manipulate and query details of the curve attribute on this segment.

HPS.CuttingSectionAttributeControl GetCuttingSectionAttributeControl ()

Returns a control that allows the user to manipulate and query details of the cutting section attributes on this segment.

HPS.CylinderAttributeControl GetCylinderAttributeControl ()

Returns a control that allows the user to manipulate and query details of the cylinder attribute on this segment.

HPS.DrawingAttributeControl GetDrawingAttributeControl ()

Returns a control that allows the user to manipulate and query details of the drawing attribute on this segment.

HPS.EdgeAttributeControl GetEdgeAttributeControl ()

Returns a control that allows the user to manipulate and query details of the edge attribute on this segment.

HPS.HiddenLineAttributeControl GetHiddenLineAttributeControl ()

Returns a control that allows the user to manipulate and query details of the hidden line attribute on this segment.

HPS.LightingAttributeControl GetLightingAttributeControl ()

Returns a control that allows the user to manipulate and query details of the lighting attribute on this segment.

HPS.LineAttributeControl GetLineAttributeControl ()

Returns a control that allows the user to manipulate and query details of the line attribute on this segment.

HPS.MarkerAttributeControl GetMarkerAttributeControl ()

Returns a control that allows the user to manipulate and query details of the marker attribute on this segment.

HPS.MaterialMappingControl GetMaterialMappingControl ()

Returns a control that allows the user to manipulate and query details of the material mapping on this segment.

HPS.ModellingMatrixControl GetModellingMatrixControl ()

Returns a control that allows the user to manipulate and query details of the modelling matrix on this segment.

HPS.NURBSSurfaceAttributeControl GetNURBSSurfaceAttributeControl ()

Returns a control that allows the user to manipulate and query details of the NURBS surface attribute on this segment.

HPS.PerformanceControl GetPerformanceControl ()

Returns a control that allows the user to manipulate and query details of the performance attribute on this segment.

HPS.PortfolioControl GetPortfolioControl ()

return

A control that allows the user to manipulate and query portfolios in use on this segment.

HPS.SelectabilityControl GetSelectabilityControl ()

Returns a control that allows the user to manipulate and query details of the selectability attribute on this segment.

HPS.SphereAttributeControl GetSphereAttributeControl ()

Returns a control that allows the user to manipulate and query details of the sphere attribute on this segment.

HPS.StyleControl GetStyleControl ()

return

A control that allows the user to manipulate and query details of styles on this segment.

HPS.SubwindowControl GetSubwindowControl ()

Returns a control that allows the user to manipulate and query details of the subwindow attribute on this segment.

HPS.TextAttributeControl GetTextAttributeControl ()

Returns a control that allows the user to manipulate and query details of the text attribute on this segment.

HPS.TextureMatrixControl GetTextureMatrixControl ()

Returns a control that allows the user to manipulate and query details of the texture matrix on this segment.

HPS.TransformMaskControl GetTransformMaskControl ()

Returns a control that allows the user to manipulate and query details of the transform mask on this segment.

HPS.TransparencyControl GetTransparencyControl ()

Returns a control that allows the user to manipulate and query details of the transparency attribute on this segment.

HPS.VisibilityControl GetVisibilityControl ()

Returns a control that allows the user to manipulate and query details of the visibility attribute on this segment.

HPS.VisualEffectsControl GetVisualEffectsControl ()

Returns a control that allows the user to manipulate and query details of the visual effects attribute on this segment.

HPS.IncludeKey IncludeSegment (HPS.SegmentKey in_seg)

Creates a link between this segment and in_seg, returns a handle to the include itself. Included segments are treated like child segments for most operations including drawing.

HPS.IncludeKey IncludeSegment (HPS.SegmentKey in_seg, HPS.ConditionalExpression in_conditional)

Creates a link between this segment and in_seg, returns a handle to the include itself. The link will only be applied if the condition is set in the draw path. Included segments are treated like child segments for most operations including drawing.

HPS.CircleKey InsertCircle (HPS.CircleKit in_kit)

Creates a new circle geometry in this segment and returns a key to it.

HPS.CircleKey InsertCircle (HPS.Point in_center, float in_radius, HPS.Vector in_normal)

Creates a new circle geometry in this segment and returns a key to it.

HPS.CircleKey InsertCircle (HPS.Point in_start, HPS.Point in_middle, HPS.Point in_end)

Creates a new circle geometry in this segment and returns a key to it.

HPS.CircularArcKey InsertCircularArc (HPS.CircularArcKit in_kit)

Creates a new circular arc geometry in this segment and returns a key to it.

HPS.CircularArcKey InsertCircularArc (HPS.Point in_start, HPS.Point in_middle, HPS.Point in_end)

Creates a new circular arc geometry in this segment and returns a key to it.

HPS.CircularWedgeKey InsertCircularWedge (HPS.CircularWedgeKit in_kit)

Creates a new circular wedge geometry in this segment and returns a key to it.

HPS.CircularWedgeKey InsertCircularWedge (HPS.Point in_start, HPS.Point in_middle, HPS.Point in_end)

Creates a new circular wedge geometry in this segment and returns a key to it.

HPS.CuttingSectionKey InsertCuttingSection (HPS.CuttingSectionKit in_kit)

Creates a new cutting section in this segment and returns a key to it.

HPS.CuttingSectionKey InsertCuttingSection (HPS.Plane in_plane)

Creates a new cutting section in this segment and returns a key to it.

HPS.CuttingSectionKey InsertCuttingSection (HPS.Plane[] in_planes)

Creates a new cutting section in this segment and returns a key to it.

HPS.CylinderKey InsertCylinder (HPS.CylinderKit in_kit)

Creates a new cylinder geometry in this segment and returns a key to it.

HPS.CylinderKey InsertCylinder (HPS.Point in_point1, HPS.Point in_point2, float in_radius)

Creates a new cylinder geometry in this segment and returns a key to it.

HPS.CylinderKey InsertCylinder (HPS.Point in_point1, HPS.Point in_point2, float in_radius, HPS.Cylinder.Capping in_caps)

Creates a new cylinder geometry in this segment and returns a key to it.

HPS.CylinderKey InsertCylinder (HPS.Point[] in_points, float[] in_radii)

Creates a new cylinder geometry in this segment and returns a key to it.

HPS.CylinderKey InsertCylinder (HPS.Point[] in_points, float[] in_radii, HPS.Cylinder.Capping in_caps)

Creates a new cylinder geometry in this segment and returns a key to it.

HPS.DistantLightKey InsertDistantLight (HPS.DistantLightKit in_kit)

Creates a new distant light geometry in this segment and returns a key to it.

HPS.DistantLightKey InsertDistantLight (HPS.Vector in_direction)

Creates a new distant light geometry in this segment and returns a key to it.

HPS.EllipseKey InsertEllipse (HPS.EllipseKit in_kit)

Creates a new ellipse geometry in this segment and returns a key to it.

HPS.EllipseKey InsertEllipse (HPS.Point in_center, HPS.Point in_major, HPS.Point in_minor)

Creates a new ellipse geometry in this segment and returns a key to it.

HPS.EllipticalArcKey InsertEllipticalArc (HPS.EllipticalArcKit in_kit)

Creates a new elliptical arc geometry in this segment and returns a key to it.

HPS.EllipticalArcKey InsertEllipticalArc (HPS.Point in_center, HPS.Point in_major, HPS.Point in_minor, float in_start, float in_end)

Creates a new elliptical arc geometry in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.GridKit in_kit)

Creates a new grid in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.Point in_origin)

Creates a new grid in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.Point in_origin, HPS.Point in_first_point)

Creates a new grid in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.Point in_origin, HPS.Point in_first_point, HPS.Point in_second_point)

Creates a new grid in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.Point in_origin, HPS.Point in_first_point, HPS.Point in_second_point, int in_first_count)

Creates a new grid in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.Point in_origin, HPS.Point in_first_point, HPS.Point in_second_point, int in_first_count, int in_second_count)

Creates a new grid in this segment and returns a key to it.

HPS.GridKey InsertGrid (HPS.Point in_origin, HPS.Point in_first_point, HPS.Point in_second_point, int in_first_count, int in_second_count, HPS.Grid.Type in_type)

Creates a new grid in this segment and returns a key to it.

HPS.InfiniteLineKey InsertInfiniteLine (HPS.InfiniteLineKit in_kit)

Creates a new infinite line geometry in this segment and returns a key to it.

HPS.InfiniteLineKey InsertInfiniteLine (HPS.Point in_first, HPS.Point in_second, HPS.InfiniteLine.Type in_type)

Creates a new infinite line geometry in this segment and returns a key to it.

HPS.LineKey InsertLine (HPS.LineKit in_kit)

Creates a new line geometry in this segment and returns a key to it.

HPS.LineKey InsertLine (HPS.Point pt1, HPS.Point pt2)

Creates a new line geometry in this segment and returns a key to it.

HPS.LineKey InsertLine (HPS.Point[] in_pts)

Creates a new line geometry in this segment and returns a key to it.

HPS.LineKey InsertLineFromGeometry (HPS.CircleKey in_circle)

Creates a new line geometry in this segment which approximates the given circle and returns a key to it.

Param in_circle

The CircleKey that will be used to compute the line approximation.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.CircleKey in_circle, float in_deviation)

Creates a new line geometry in this segment which approximates the given circle and returns a key to it.

Param in_circle

The CircleKey that will be used to compute the line approximation.

Param in_deviation

The distance in object space from the line approximation to the circle. Default value is -1.0f, which tells Visualize to compute a deviation based on the bounding volume of the circle.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.CircularArcKey in_circular_arc)

Creates a new line geometry in this segment which approximates the given circular arc and returns a key to it.

Param in_circular_arc

The CircularArcKey that will be used to compute the line approximation.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.CircularArcKey in_circular_arc, float in_deviation)

Creates a new line geometry in this segment which approximates the given circular arc and returns a key to it.

Param in_circular_arc

The CircularArcKey that will be used to compute the line approximation.

Param in_deviation

The distance in object space from the line approximation to the circular arc. Default value is -1.0f, which tells Visualize to compute a deviation based on the bounding volume of the circular arc.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.CircularWedgeKey in_circular_wedge)

Creates a new line geometry in this segment which approximates the given circular wedge and returns a key to it.

Param in_circular_wedge

The CircularWedgeKey that will be used to compute the line approximation.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.CircularWedgeKey in_circular_wedge, float in_deviation)

Creates a new line geometry in this segment which approximates the given circular wedge and returns a key to it.

Param in_circular_wedge

The CircularWedgeKey that will be used to compute the line approximation.

Param in_deviation

The distance in object space from the line approximation to the circular wedge. Default value is -1.0f, which tells Visualize to compute a deviation based on the bounding volume of the circular wedge.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.EllipseKey in_ellipse)

Creates a new line geometry in this segment which approximates the given ellipse and returns a key to it.

Param in_ellipse

The EllipseKey that will be used to compute the line approximation.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.EllipseKey in_ellipse, float in_deviation)

Creates a new line geometry in this segment which approximates the given ellipse and returns a key to it.

Param in_ellipse

The EllipseKey that will be used to compute the line approximation.

Param in_deviation

The distance in object space from the line approximation to the ellipse. Default value is -1.0f, which tells Visualize to compute a deviation based on the bounding volume of the ellipse.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.EllipticalArcKey in_elliptical_arc)

Creates a new line geometry in this segment which approximates the given elliptical arc and returns a key to it.

Param in_elliptical_arc

The EllipticalArcKey that will be used to compute the line approximation.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.EllipticalArcKey in_elliptical_arc, float in_deviation)

Creates a new line geometry in this segment which approximates the given elliptical arc and returns a key to it.

Param in_elliptical_arc

The EllipticalArcKey that will be used to compute the line approximation.

Param in_deviation

The distance in object space from the line approximation to the elliptical arc. Default value is -1.0f, which tells Visualize to compute a deviation based on the bounding volume of the elliptical arc.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.NURBSCurveKey in_nurbs_curve)

Creates a new line geometry in this segment which approximates the given NURBS curve and returns a key to it.

Param in_nurbs_curve

The NURBSCurveKey that will be used to compute the line approximation.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.LineKey InsertLineFromGeometry (HPS.NURBSCurveKey in_nurbs_curve, float in_deviation)

Creates a new line geometry in this segment which approximates the given NURBS curve and returns a key to it.

Param in_nurbs_curve

The NURBSCurveKey that will be used to compute the line approximation.

Param in_deviation

The distance in object space from the line approximation to the NURBS curve. Default value is -1.0f, which tells Visualize to compute a deviation based on the bounding volume of the NURBS curve.

Return

The reference to the newly created line. Will have a type of Type.None if line insertion failed.

HPS.MarkerKey InsertMarker (HPS.MarkerKit in_kit)

Creates a new marker geometry in this segment and returns a key to it.

HPS.MarkerKey InsertMarker (HPS.Point in_position)

Creates a new marker geometry in this segment and returns a key to it.

HPS.MeshKey InsertMesh (HPS.MeshKit in_kit)

Creates a new mesh geometry in this segment and returns a key to it.

HPS.MeshKey InsertMesh (ulong in_rows, ulong in_columns, HPS.Point[] in_points)

Creates a new mesh geometry in this segment and returns a key to it.

HPS.NURBSCurveKey InsertNURBSCurve (HPS.NURBSCurveKit in_kit)

Creates a new NURBS curve geometry in this segment and returns a key to it.

HPS.NURBSCurveKey InsertNURBSCurve (ulong in_degree, HPS.Point[] in_points, float[] in_weights, float[] in_knots, float in_start_u, float in_end_u)

Creates a new NURBS curve geometry in this segment and returns a key to it.

HPS.NURBSSurfaceKey InsertNURBSSurface (HPS.NURBSSurfaceKit in_kit)

Creates a new NURBS surface geometry in this segment and returns a key to it.

HPS.NURBSSurfaceKey InsertNURBSSurface (ulong in_udegree, ulong in_vdegree, ulong in_ucount, ulong in_vcount, HPS.Point[] in_points, float[] in_weights, float[] in_uknots, float[] in_vknots)

Creates a new NURBS surface geometry in this segment and returns a key to it.

HPS.NURBSSurfaceKey InsertNURBSSurface (ulong in_udegree, ulong in_vdegree, ulong in_ucount, ulong in_vcount, HPS.Point[] in_points, float[] in_weights, float[] in_uknots, float[] in_vknots, HPS.TrimKit[] in_trims)

Creates a new NURBS surface geometry in this segment and returns a key to it.

HPS.PolygonKey InsertPolygon (HPS.Point[] in_points)

Creates a new polygon geometry in this segment and returns a key to it.

HPS.PolygonKey InsertPolygon (HPS.PolygonKit in_kit)

Creates a new polygon geometry in this segment and returns a key to it.

HPS.ShellKey InsertShell (HPS.Point[] in_points, int[] in_facelist)

Creates a new shell geometry in this segment and returns a key to it.

HPS.ShellKey InsertShell (HPS.ShellKit in_kit)

Creates a new shell geometry in this segment and returns a key to it.

HPS.ShellKey InsertShellByTristrips (HPS.Point[] in_points, int[] in_tristrips)

Creates a new shell geometry in this segment and then returns a key to it. <programlisting filename=”00700_insert_shell_by_tristrips.cpp”>

Param in_points

An array of HPS.Point that will serve as vertices in the tri-strip.

Param in_tristrips

An array of integers that designates the order of the vertices. The first number indicates the number of vertices in a tri-strip. For example, the following declaration specifies two tri-strips, the first with three vertices and the second with five: IntArray triStripIndex = { 3, 0, 1, 2, 5, 3, 4, 5, 6, 7 };

HPS.ShellKey InsertShellFromGeometry (HPS.CircleKey in_circle)

Creates a new shell geometry in this segment which approximates the given circle and returns a key to it.

Param in_circle

The CircleKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.CircularWedgeKey in_circular_wedge)

Creates a new shell geometry in this segment which approximates the given circular wedge and returns a key to it.

Param in_circular_wedge

The CircularWedgeKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.CylinderKey in_cylinder)

Creates a new shell geometry in this segment which approximates the given cylinder and returns a key to it.

Param in_cylinder

The CylinderKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.EllipseKey in_ellipse)

Creates a new shell geometry in this segment which approximates the given ellipse and returns a key to it.

Param in_ellipse

The EllipseKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.MeshKey in_mesh)

Creates a new shell geometry in this segment which approximates the given mesh and returns a key to it.

Param in_mesh

The MeshKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.NURBSSurfaceKey in_nurbs_surface)

Creates a new shell geometry in this segment which approximates the given NURBS surface and returns a key to it.

Param in_nurbs_surface

The NURBSSurfaceKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.PolygonKey in_polygon)

Creates a new shell geometry in this segment which approximates the given polygon and returns a key to it.

Param in_polygon

The PolygonKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.SphereKey in_sphere)

Creates a new shell geometry in this segment which approximates the given sphere and returns a key to it.

Param in_sphere

The SphereKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.ShellKey InsertShellFromGeometry (HPS.TextKey in_text)

Creates a new shell geometry in this segment which approximates the given text and returns a key to it. The text must be inserted into the window segment in order for this call to succeed.

Param in_text

The TextKey that will be used to compute the shell approximation.

Return

The reference to the newly created shell. Will have a type of Type.None if shell insertion failed.

HPS.SphereKey InsertSphere (HPS.Point in_center, float in_radius)

Creates a new sphere geometry in this segment and returns a key to it.

Param in_center

The Point that will define the center of the sphere

Param in_radius

The radius of the sphere

Return

The reference to the newly created sphere. Will have a type of Type.None if sphere insertion failed

HPS.SphereKey InsertSphere (HPS.Point in_center, float in_radius, HPS.Vector in_axis)

Creates a new sphere geometry in this segment and returns a key to it.

Param in_center

The Point that will define the center of the sphere

Param in_radius

The radius of the sphere

Param in_axis

The Vector that will define the axis of the sphere

Return

The reference to the newly created sphere. Will have a type of Type.None if sphere insertion failed

HPS.SphereKey InsertSphere (HPS.Point in_center, float in_radius, HPS.Vector in_axis, HPS.Vector in_prime_meridian)

Creates a new sphere geometry in this segment and returns a key to it.

Param in_center

The Point that will define the center of the sphere

Param in_radius

The radius of the sphere

Param in_axis

The Vector that will define the axis of the sphere

Param in_prime_meridian

The Vector that will define the orientation of the sphere (as rotated on its axis)

Return

The reference to the newly created sphere. Will have a type of Type.None if sphere insertion failed

HPS.SphereKey InsertSphere (HPS.SphereKit in_kit)

Creates a new sphere geometry in this segment and returns a key to it.

Param in_kit

The SphereKit that will define the sphere

Return

The reference to the newly created sphere. Will have a type of Type.None if sphere insertion failed

HPS.SpotlightKey InsertSpotlight (HPS.Point in_position, HPS.Point in_target)

Creates a new spot light geometry in this segment and returns a key to it.

HPS.SpotlightKey InsertSpotlight (HPS.SpotlightKit in_kit)

Creates a new spot light geometry in this segment and returns a key to it.

HPS.TextKey InsertText (HPS.Point in_position, string in_text)

Creates a new text geometry in this segment and returns a key to it.

Param in_position

The position, in world coordinates, where the text will be inserted.

Param in_text

The text UTF-8 encoded string to insert.

Return

A reference to the newly created TextKey object. Will have a type of Type.None if line insertion failed.

HPS.TextKey InsertText (HPS.TextKit in_kit)

Creates a new text geometry in this segment and returns a key to it.

string Name ()

Returns the name given to this segment when it was created.

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 Optimize (HPS.SegmentOptimizationOptionsKit in_kit)

Optimizes this Segment according to the options specified in the SegmentOptimizationOptionsKit.

Param in_kit

A SegmentOptimizationOptionsKit that specifies how the Segment should be optimized.

HPS.OptimizeMappingResults OptimizeWithMapping (HPS.SegmentOptimizationOptionsKit in_kit)

Optimizes this Segment according to the options specified in the SegmentOptimizationOptionsKit.

Note

If shell merging is specified in the SegmentOptimizationOptionsKit then the original shells will be preserved. Original shells may be flushed after merging information has been retrieved from the returned OptimizeMappingResults.

Param in_kit

A SegmentOptimizationOptionsKit that specifies how the Segment should be optimized.

Return

OptimizeMappingResults with information about merged shells.

HPS.ReferenceKey ReferenceGeometry (HPS.Key in_key)

References either a geometry key or a segment key in this segment. If the provided key is a geometry key, that geometry will be drawn as though it was in this segment. If the provided key is a segment key, all geometry in that segment will be drawn as though they were in this segment, however no attributes, subsegments or geometry in subsegments will be brought along (though attributes set directly on geometry within the segment will be preserved).

Param in_key

A key to either a piece of geometry or a segment.

Return

A reference to the newly created geometry reference. This will have a type of Type.None if geometry reference creation failed.

HPS.ReferenceKey ReferenceGeometry (HPS.Key in_key, HPS.ConditionalExpression in_conditional)

Conditionally references either a geometry key or a segment key in this segment. If the provided key is a geometry key, that geometry will be drawn as though it was in this segment. If the provided key is a segment key, all geometry in that segment will be drawn as though they were in this segment, however no attributes, subsegments or geometry in subsegments will be brought along (though attributes set directly on geometry within the segment will be preserved). The referenced geometry will only get drawn in this segment if a condition is set above the geometry reference satisfying the provided condition.

Param in_key

A key to either a piece of geometry or a segment.

Param in_conditional

A conditional expression which will determine whether the referenced geometry gets drawn for this segment.

Return

A reference to the newly created geometry reference. This will have a type of Type.None if geometry reference creation failed.

SegmentKey ()

An uninitialized key refers to no database object and Type() will return Type.None.

SegmentKey (HPS.Key in_that)

Shares a reference to a database object referred to by in_that. If the key assignment is invalid, this key will revert to an uninitialized state.

SegmentKey (HPS.SegmentKey in_that)

Shares a reference to a database object referred to by in_that.

HPS.SegmentKey SetAttributeLock (HPS.AttributeLockKit in_kit)

Sets the attribute locks designated by in_kit on this segment.

HPS.SegmentKey SetBounding (HPS.BoundingKit in_kit)

Sets the bounding designated by in_kit on this segment.

HPS.SegmentKey SetCamera (HPS.CameraKit in_kit)

Sets the camera attribute designated by in_kit on this segment.

HPS.SegmentKey SetColorInterpolation (HPS.ColorInterpolationKit in_kit)

Sets the color interpolation attributes designated by in_kit on this segment.

HPS.SegmentKey SetCondition (string in_condition)

Sets in_condition as the only condition on this segment, replacing any existing conditions.

HPS.SegmentKey SetConditions (string[] in_conditions)

Sets in_conditions as the only conditions on this segment, replacing any existing conditions.

HPS.SegmentKey SetContourLine (HPS.ContourLineKit in_kit)

Sets the contour line attributes designated by in_kit on this segment.

HPS.SegmentKey SetCulling (HPS.CullingKit in_kit)

Sets the culling attributes designated by in_kit on this segment.

HPS.SegmentKey SetCurveAttribute (HPS.CurveAttributeKit in_kit)

Sets the curve attributes designated by in_kit on this segment.

HPS.SegmentKey SetCuttingSectionAttribute (HPS.CuttingSectionAttributeKit in_kit)

Sets the cutting section attributes designated by in_kit on this segment.

HPS.SegmentKey SetCylinderAttribute (HPS.CylinderAttributeKit in_kit)

Sets the cylinder attributes designated by in_kit on this segment.

HPS.SegmentKey SetDrawingAttribute (HPS.DrawingAttributeKit in_kit)

Sets the drawing attributes designated by in_kit on this segment.

HPS.SegmentKey SetEdgeAttribute (HPS.EdgeAttributeKit in_kit)

Sets the edge attributes designated by in_kit on this segment.

HPS.SegmentKey SetHiddenLineAttribute (HPS.HiddenLineAttributeKit in_kit)

Sets the hidden line attributes designated by in_kit on this segment.

HPS.SegmentKey SetLightingAttribute (HPS.LightingAttributeKit in_kit)

Sets the lighting attributes designated by in_kit on this segment.

HPS.SegmentKey SetLineAttribute (HPS.LineAttributeKit in_kit)

Sets the line attributes designated by in_kit on this segment.

HPS.SegmentKey SetMarkerAttribute (HPS.MarkerAttributeKit in_kit)

Sets the marker attributes designated by in_kit on this segment.

HPS.SegmentKey SetMaterialMapping (HPS.MaterialMappingKit in_kit)

Sets the material mappings designated by in_kit on this segment.

HPS.SegmentKey SetMaterialPalette (string in_name)

Applies the material palette associated with in_name to this segment, replacing any existing material palette.

HPS.SegmentKey SetModellingMatrix (HPS.MatrixKit in_kit)

Sets the modelling matrix attributes designated by in_kit on this segment.

HPS.SegmentKey SetName (string in_name)

Sets the new name of this segment.

Return

A reference to this key

HPS.SegmentKey SetNURBSSurfaceAttribute (HPS.NURBSSurfaceAttributeKit in_kit)

Sets the NURBS surface attributes designated by in_kit on this segment.

HPS.SegmentKey SetPBRMaterial (HPS.PBRMaterialKit in_kit)

Sets a PBR material designated by in_kit on this segment.

HPS.SegmentKey SetPerformance (HPS.PerformanceKit in_kit)

Sets the performance attributes designated by in_kit on this segment.

HPS.SegmentKey SetPriority (int in_priority)

Assigns a specific drawing priority value to this segment. It affects the order in which the segment is visited if and only if the rendering algorithm is set to Priority. Segments have a default drawing priority assigned, based on the order that they were created.

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.SegmentKey SetSelectability (HPS.SelectabilityKit in_kit)

Sets the selectability attributes designated by in_kit on this segment.

HPS.SegmentKey SetSphereAttribute (HPS.SphereAttributeKit in_kit)

Sets the sphere attributes designated by in_kit on this segment.

HPS.SegmentKey SetSubwindow (HPS.SubwindowKit in_kit)

Sets the subwindow attributes designated by in_kit on this segment.

HPS.SegmentKey SetTextAttribute (HPS.TextAttributeKit in_kit)

Sets the text attributes designated by in_kit on this segment.

HPS.SegmentKey SetTextureMatrix (HPS.MatrixKit in_kit)

Sets the texture matrix attributes designated by in_kit on this segment.

HPS.SegmentKey SetTransformMask (HPS.TransformMaskKit in_kit)

Sets the transform mask designated by in_kit on this segment.

HPS.SegmentKey SetTransparency (HPS.TransparencyKit in_kit)

Sets the transparency attributes designated by in_kit on this segment.

HPS.SegmentKey SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this key.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this key.

HPS.SegmentKey SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this key.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this key.

HPS.SegmentKey SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this key.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this key.

HPS.SegmentKey SetVisibility (HPS.VisibilityKit in_kit)

Sets the visibility attribute designated by in_kit on this segment.

HPS.SegmentKey SetVisualEffects (HPS.VisualEffectsKit in_kit)

Sets the visual effects attributes designated by in_kit on this segment.

bool ShowAttributeLock (out HPS.AttributeLockKit out_kit)

Shows the attribute locks settings on this segment.

Return

False if no attribute locks settings exist on this segment.

bool ShowBounding (out HPS.BoundingKit out_kit)

Shows the bounding or bounding settings on this segment.

Return

False if no bounding or bounding settings on this segment.

bool ShowCamera (out HPS.CameraKit out_kit)

Shows the camera attribute settings on this segment. Returns false if no camera is set on this segment.

bool ShowColorInterpolation (out HPS.ColorInterpolationKit out_kit)

Shows the color interpolation attribute settings on this segment. Returns false if no color interpolation attribute settings exist on this segment.

bool ShowContourLine (out HPS.ContourLineKit out_kit)

Shows the contour line attribute settings on this segment. Returns false if no contour line attribute settings exist on this segment.

bool ShowCulling (out HPS.CullingKit out_kit)

Shows the culling attribute settings on this segment.

Return

False if no culling attribute settings exist on this segment.

bool ShowCurveAttribute (out HPS.CurveAttributeKit out_kit)

Shows the curve attribute settings on this segment. Returns false if no curve attribute settings exist on this segment.

bool ShowCuttingSectionAttribute (out HPS.CuttingSectionAttributeKit out_kit)

Shows the cutting section attribute settings on this segment. Returns false if no cutting section attribute settings exist on this segment.

bool ShowCylinderAttribute (out HPS.CylinderAttributeKit out_kit)

Shows the cylinder attribute settings on this segment. Returns false if no cylinder attribute settings exist on this segment.

bool ShowDrawingAttribute (out HPS.DrawingAttributeKit out_kit)

Shows the drawing attribute settings on this segment. Returns false if no drawing settings exist on this segment.

bool ShowEdgeAttribute (out HPS.EdgeAttributeKit out_kit)

Shows the edge attribute settings on this segment. Returns false if no edge attribute settings exist on this segment.

bool ShowHiddenLineAttribute (out HPS.HiddenLineAttributeKit out_kit)

Shows the hidden line attribute settings on this segment. Returns false if no hidden line settings exist on this segment.

ulong ShowIncluders (out HPS.IncludeKey[] out_includes)

Shows the all the includes of this key.

Param out_includes

The list of all includes of this key.

Return

The number of includes of this key.

ulong ShowIncluders (out HPS.SegmentKey[] out_segments)

Shows the all the segments which contain includes of this key.

Param out_segments

The list of segments which contains includes of this key.

Return

The number of segments which contain includes of this key.

bool ShowLightingAttribute (out HPS.LightingAttributeKit out_kit)

Shows the lighting attribute settings on this segment. Returns false if no lighting attribute settings exist on this segment.

bool ShowLineAttribute (out HPS.LineAttributeKit out_kit)

Shows the line attribute settings on this segment. Returns false if no line attribute settings exist on this segment.

bool ShowMarkerAttribute (out HPS.MarkerAttributeKit out_kit)

Shows the marker attribute settings on this segment. Returns false if no marker attribute settings exist on this segment.

bool ShowMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the material mapping settings on this segment. Returns false if no material mapping settings exist on this segment.

bool ShowMaterialPalette (out string out_name)

Shows the existing material palette, if any, that is active on this segment.

bool ShowModellingMatrix (out HPS.MatrixKit out_kit)

Shows the modelling matrix setting on this segment. Returns false if no modelling matrix setting exists on this segment.

bool ShowNURBSSurfaceAttribute (out HPS.NURBSSurfaceAttributeKit out_kit)

Shows the NURBS surface attribute settings on this segment. Returns false if no NURBS surface attribute settings exist on this segment.

bool ShowPBRMaterial (out HPS.PBRMaterialKit out_kit)

Shows the PBR material settings on this segment. Returns false if no PBR material settings exist on this segment.

bool ShowPerformance (out HPS.PerformanceKit out_kit)

Shows the performance attribute settings on this segment. Returns false if no performance settings exist on this segment.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if a priority was specified, false otherwise.

ulong ShowReferrers (out HPS.ReferenceKey[] out_references)

Shows the all the references to this key.

Param out_references

The list of all references to this key.

Return

The number of references to this key.

ulong ShowReferrers (out HPS.SegmentKey[] out_segments)

Shows the all the segments which contain references to this key. Note that while a segment may only appear once in the returned array, that segment could have multiple references to this key.

Param out_segments

The list of segments which contains references to this key.

Return

The number of segments which contain references to this key.

bool ShowSelectability (out HPS.SelectabilityKit out_kit)

Shows the selectability attribute settings on this segment.

Return

False if no selectability settings exist on this segment.

bool ShowSphereAttribute (out HPS.SphereAttributeKit out_kit)

Shows the sphere attribute settings on this segment.

Return

False if no sphere attribute settings exist on this segment.

ulong ShowStylers (out HPS.SegmentKey[] out_segments)

Shows the all the segments which are styled by this key. Note that while a segment may only appear once in the returned array, that segment could have multiple styles which refer to this key.

Param out_segments

The list of segments which are styled by this key.

Return

The number of segments which are styled by this key.

ulong ShowStylers (out HPS.StyleKey[] out_styles)

Shows the all the styles which refer to this key.

Param out_styles

The list of all styles which refer to this key.

Return

The number of styles which refer to this key.

ulong ShowSubsegments ()

return

A count of all child segments of this segment

ulong ShowSubsegments (out HPS.SegmentKey[] out_children)

return

A count of all child segments of this segment and populates out_children with keys to them.

bool ShowSubwindow (out HPS.SubwindowKit out_kit)

Shows the subwindow attribute settings on this segment.

Return

False if no subwindow attribute settings exist on this segment.

bool ShowTextAttribute (out HPS.TextAttributeKit out_kit)

Shows the text attribute settings on this segment. Returns false if no text attribute settings exist on this segment.

bool ShowTextureMatrix (out HPS.MatrixKit out_kit)

Shows the texture matrix setting on this segment.

Return

False if no texture matrix setting exists on this segment.

bool ShowTransformMask (out HPS.TransformMaskKit out_kit)

Shows the transform mask settings on this segment.

Return

False if no bounding settings exist on this segment.

bool ShowTransparency (out HPS.TransparencyKit out_kit)

Shows the transparency attribute settings on this segment.

Return

False if no transparency attribute settings exist on this segment.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this key.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this key.

Param out_indices

An array of all user data indices set on this key.

Param out_data

An array of all user data set on this key.

Return

true if there is user data on this key, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this key.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this key.

Param out_indices

The user data indices set on this key.

Return

The number of user data indices set on this key.

bool ShowVisibility (out HPS.VisibilityKit out_kit)

Shows the visibility attribute settings on this segment.

Return

False if no visibility is set on this segment.

bool ShowVisualEffects (out HPS.VisualEffectsKit out_kit)

Shows the visual effects attribute settings on this segment.

Return

False if no visual effects attribute settings exist on this segment.

HPS.SegmentKey Subsegment ()

Returns the segment contained by this key with name of in_segment_name. The segment will be created automatically if it does not exist. To prevent automatic segment creation, pass a value of false for in_create_not_present.

HPS.SegmentKey Subsegment (string in_segment_name)

Returns the segment contained by this key with name of in_segment_name. The segment will be created automatically if it does not exist. To prevent automatic segment creation, pass a value of false for in_create_not_present.

HPS.SegmentKey Subsegment (string in_segment_name, bool in_create_if_not_present)

Returns the segment contained by this key with name of in_segment_name. The segment will be created automatically if it does not exist. To prevent automatic segment creation, pass a value of false for in_create_not_present.

HPS.SegmentKey UnsetAllUserData ()

Removes all user data from this key.

Return

A reference to this key.

HPS.SegmentKey UnsetAttributeLock ()

Removes all attribute locks settings from this segment.

HPS.SegmentKey UnsetBounding ()

Removes all bounding settings from this segment.

HPS.SegmentKey UnsetCamera ()

Removes any camera set on this segment.

HPS.SegmentKey UnsetColorInterpolation ()

Removes any color interpolation attributes set on this segment.

HPS.SegmentKey UnsetConditions ()

Unsets all conditions on this segment.

HPS.SegmentKey UnsetContourLine ()

Removes any contour line attributes set on this segment.

HPS.SegmentKey UnsetCulling ()

Removes all culling attribute settings from this segment.

HPS.SegmentKey UnsetCurveAttribute ()

Removes all curve attribute settings from this segment.

HPS.SegmentKey UnsetCuttingSectionAttribute ()

Removes all cutting section attribute settings from this segment.

HPS.SegmentKey UnsetCylinderAttribute ()

Removes all cylinder attribute settings from this segment.

HPS.SegmentKey UnsetDrawingAttribute ()

Removes all drawing settings from this segment.

HPS.SegmentKey UnsetEdgeAttribute ()

Removes all edge attribute settings from this segment.

HPS.SegmentKey UnsetHiddenLineAttribute ()

Removes all hidden line settings from this segment.

HPS.SegmentKey UnsetLightingAttribute ()

Removes all lighting attribute settings from this segment.

HPS.SegmentKey UnsetLineAttribute ()

Removes all line attribute settings from this segment.

HPS.SegmentKey UnsetMarkerAttribute ()

Removes all marker attribute settings from this segment.

HPS.SegmentKey UnsetMaterialMapping ()

Removes all material mapping settings from this segment.

HPS.SegmentKey UnsetMaterialPalette ()

Removes the existing material palette, if any, that is active on this segment.

HPS.SegmentKey UnsetModellingMatrix ()

Removes any modelling matrix settings from this segment.

HPS.SegmentKey UnsetNURBSSurfaceAttribute ()

Removes all NURBS surface attribute settings from this segment.

HPS.SegmentKey UnsetPBRMaterial ()

Removes all PBR material settings from this segment.

HPS.SegmentKey UnsetPerformance ()

Removes all performance settings from this segment.

HPS.SegmentKey UnsetPriority ()

Removes the drawing priority setting.

Return

A reference to this object.

HPS.SegmentKey UnsetSelectability ()

Removes all selectability settings from this segment.

HPS.SegmentKey UnsetSphereAttribute ()

Removes all sphere attribute settings from this segment.

HPS.SegmentKey UnsetSubwindow ()

Removes all subwindow attribute settings from this segment.

HPS.SegmentKey UnsetTextAttribute ()

Removes all text attribute settings from this segment.

HPS.SegmentKey UnsetTextureMatrix ()

Removes any texture matrix settings from this segment.

HPS.SegmentKey UnsetTransformMask ()

Removes all transform mask settings from this segment.

HPS.SegmentKey UnsetTransparency ()

Removes all transparency attribute settings from this segment.

HPS.SegmentKey UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this key.

Param in_index

The index of the user data to remove.

Return

A reference to this key.

HPS.SegmentKey UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this key.

Param in_indices

The indices of the user data to remove.

Return

A reference to this key.

HPS.SegmentKey UnsetVisibility ()

Removes all visibility settings from this segment.

HPS.SegmentKey UnsetVisualEffects ()

Removes all visual effects attribute settings from this segment.

class SegmentKeyArray : public HPS::InternalHPSArray<HPS.SegmentKey>
class SegmentOptimizationOptions : public IDisposable
class SegmentOptimizationOptionsKit : public HPS.Kit

Configuration options kit for controlling HPS.Segment.Optimize behavior.

Public Functions

void Consume (HPS.SegmentOptimizationOptionsKit in_kit)

Copies the source SegmentOptimizationOptionsKit into this SegmentOptimizationOptionsKit and resets the source kit.

Param in_kit

The source SegmentOptimizationOptionsKit to consume.

override bool Empty ()

Indicates whether this SegmentOptimizationOptionsKit has any values set on it.

Return

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

bool Equals (HPS.SegmentOptimizationOptionsKit in_kit)

Check if the source SegmentOptimizationOptionsKit is equivalent to this SegmentOptimizationOptionsKit.

Param in_kit

The source SegmentOptimizationOptionsKit to compare to this SegmentOptimizationOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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.

SegmentOptimizationOptionsKit ()

The default constructor creates an empty SegmentOptimizationOptionsKit object.

SegmentOptimizationOptionsKit (HPS.SegmentOptimizationOptionsKit in_kit)

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

Param in_kit

The source SegmentOptimizationOptionsKit to copy.

void Set (HPS.SegmentOptimizationOptionsKit in_kit)

Copies the source SegmentOptimizationOptionsKit into this SegmentOptimizationOptionsKit.

Param in_kit

The source SegmentOptimizationOptionsKit to copy.

HPS.SegmentOptimizationOptionsKit SetAttributeDelocalization (bool in_attribute_delocalization)

Controls whether or not local attributes will be pulled out of geometry.

Param in_attribute_delocalization

Denotes whether or not local attributes will be pulled out of geometry.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetExpansion (HPS.SegmentOptimizationOptions.Expansion in_expansion)

Controls whether or not includes or references are expanded.

Param in_expansion

The enum value describing how to handle includes and references.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetMatrix (HPS.SegmentOptimizationOptions.Matrix in_matrix)

Controls whether or not matrices are localized, collapsed, or left as is.

Param in_matrix

The enum value describing how to handle matrices.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetReorganization (HPS.SegmentOptimizationOptions.Reorganization in_reorganization)

Controls how the tree is reorganized.

Param in_reorganization

The enum value describing how to reorganize the tree.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetScope (HPS.SegmentOptimizationOptions.Scope in_scope)

Controls the traversal scope of the optimization operation.

Param in_scope

The enum value describing the traversal scope of the optimization.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetShellInstancing (bool in_shell_instancing)

Controls whether or not duplicate shells are instanced.

Param in_shell_instancing

Denotes whether or not shells will be instanced.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetShellMerging (bool in_shell_merging)

Controls whether or not distinct shells are merged into consolidated shells.

Param in_shell_merging

Denotes whether or not shells will be merged.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit SetUserData (HPS.SegmentOptimizationOptions.UserData in_user_data)

Controls whether or not user data is discarded, preserved, merged, localized, or left as is.

Param in_user_data

The enum value describing how to handle user data.

Return

A reference to this SegmentOptimizationOptionsKit.

void Show (out HPS.SegmentOptimizationOptionsKit out_kit)

Copies this SegmentOptimizationOptionsKit into the given SegmentOptimizationOptionsKit.

Param out_kit

The SegmentOptimizationOptionsKit to populate with the contents of this SegmentOptimizationOptionsKit.

bool ShowAttributeDelocalization (out bool out_attribute_delocalization)

Shows the Attribute Delocalization setting.

Return

true if the setting is valid, false otherwise.

bool ShowExpansion (out HPS.SegmentOptimizationOptions.Expansion out_expansion)

Shows the Expansion setting.

Return

true if the setting is valid, false otherwise.

bool ShowMatrix (out HPS.SegmentOptimizationOptions.Matrix out_matrix)

Shows the Matrix setting.

Return

true if the setting is valid, false otherwise.

bool ShowReorganization (out HPS.SegmentOptimizationOptions.Reorganization out_reorganization)

Shows the Reorganization setting.

Return

true if the setting is valid, false otherwise.

bool ShowScope (out HPS.SegmentOptimizationOptions.Scope out_scope)

Shows the Scope setting.

Return

true if the setting is valid, false otherwise.

bool ShowShellInstancing (out bool out_shell_instancing)

Shows the Shell Instancing setting.

Return

true if the setting is valid, false otherwise.

bool ShowShellMerging (out bool out_shell_merging)

Shows the Shell Merging setting.

Return

true if the setting is valid, false otherwise.

bool ShowUserData (out HPS.SegmentOptimizationOptions.UserData out_user_data)

Shows the User Data setting.

Return

true if the setting is valid, false otherwise.

HPS.SegmentOptimizationOptionsKit UnsetAttributeDelocalization ()

Unsets the ttributeDelocalization value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.SegmentOptimizationOptionsKit UnsetExpansion ()

Unsets the Expansion value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetMatrix ()

Unsets the Matrix value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetReorganization ()

Unsets the Reorganization value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetScope ()

Unsets the Scope value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetShellInstancing ()

Unsets the ShellInstancing value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetShellMerging ()

Unsets the ShellMerging value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

HPS.SegmentOptimizationOptionsKit UnsetUserData ()

Unsets the UserData value on this kit.

Return

A reference to this SegmentOptimizationOptionsKit.

class Selectability : public IDisposable

This is the Selectability Class

Public Types

enum Value

Selectability Value

Values:

Off

Not selectable.

On

Selectable if visible.

ForcedOn

Selectable even if not visible.

class SelectabilityControl : public HPS.Control

The SelectabilityControl class is a smart pointer that is tied to a database object. This object allows you to set and unset the selectability of the various types of geometry, such as faces, lines, markers, and vertices.

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

Public Functions

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.

SelectabilityControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

SelectabilityControl (HPS.SelectabilityControl in_that)

Initializes a control tied to the same object as in_that.

HPS.SelectabilityControl SetEdges (bool in_val)

Controls whether edges can be selected by selection actions.

Param in_val

Whether visible edges should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetEdges (HPS.Selectability.Value in_val)

Controls whether edges can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetEverything (bool in_val)

Sets the selectability of all geometry, subgeometry and windows.

Param in_val

Whether everything visible should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetEverything (HPS.Selectability.Value in_val)

Sets the selectability of all geometry, subgeometry and windows.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetFaces (bool in_val)

Controls whether faces can be selected by selection actions.

Param in_val

Whether visible faces should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetFaces (HPS.Selectability.Value in_val)

Controls whether faces can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetGeometry (bool in_val)

Sets the selectability of all edges, faces, lights, lines, markers, vertices, and text.

Param in_val

Whether visible geometry should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetGeometry (HPS.Selectability.Value in_val)

Sets the selectability of all edges, faces, lights, lines, markers, vertices, and text.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetLights (bool in_val)

Controls whether lights can be selected by selection actions.

Param in_val

Whether visible lights should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetLights (HPS.Selectability.Value in_val)

Controls whether lights can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetLines (bool in_val)

Controls whether lines can be selected by selection actions.

Param in_val

Whether visible lines should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetLines (HPS.Selectability.Value in_val)

Controls whether lines can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetMarkers (bool in_val)

Controls whether markers can be selected by selection actions.

Param in_val

Whether visible markers should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetMarkers (HPS.Selectability.Value in_val)

Controls whether markers can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetText (bool in_val)

Controls whether text can be selected by selection actions.

Param in_val

Whether visible text should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetText (HPS.Selectability.Value in_val)

Controls whether text can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetVertices (bool in_val)

Controls whether vertices can be selected by selection actions.

Param in_val

Whether visible vertices should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetVertices (HPS.Selectability.Value in_val)

Controls whether vertices can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityControl SetWindows (bool in_val)

Controls whether windows can be selected by selection actions.

Param in_val

Whether visible windows should be selectable.

Return

A reference to this object.

HPS.SelectabilityControl SetWindows (HPS.Selectability.Value in_val)

Controls whether windows can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

bool ShowEdges (out HPS.Selectability.Value out_val)

Shows whether edges can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowFaces (out HPS.Selectability.Value out_val)

Shows whether faces can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowLights (out HPS.Selectability.Value out_val)

Shows whether lights can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowLines (out HPS.Selectability.Value out_val)

Shows whether lines can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowMarkers (out HPS.Selectability.Value out_val)

Shows whether markers can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowText (out HPS.Selectability.Value out_val)

Shows whether text can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowVertices (out HPS.Selectability.Value out_val)

Shows whether vertices can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowWindows (out HPS.Selectability.Value out_val)

Shows whether windows can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

HPS.SelectabilityControl UnsetEdges ()

Removes the selectability setting from edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetFaces ()

Removes the selectability setting from faces. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetGeometry ()

Removes the selectability settings from edges, faces, lights, lines, markers, vertices, and text. If the control is attached to a WindowKey this function restores the default value of these settings as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetLights ()

Removes the selectability setting from lights. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetLines ()

Removes the selectability setting from lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetMarkers ()

Removes the selectability setting from markers. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetText ()

Removes the selectability setting from text. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetVertices ()

Removes the selectability setting from vertices. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

HPS.SelectabilityControl UnsetWindows ()

Removes the selectability setting from windows. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SelectabilityKit.GetDefault().

Return

A reference to this object.

class SelectabilityKit : public HPS.Kit

The HPS.SelectabilityKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.SelectabilityKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.SelectabilityKit in_kit)

Check if the source SelectabilityKit is equivalent to this object.

Param in_kit

The source SelectabilityKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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.

SelectabilityKit ()

Initializes an empty kit.

SelectabilityKit (HPS.SelectabilityKit in_kit)

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

Param in_kit

The source object to copy.

void Set (HPS.SelectabilityKit in_kit)

Copies all settings from the source SelectabilityKit into this object.

Param in_kit

The source SelectabilityKit to copy.

HPS.SelectabilityKit SetEdges (bool in_val)

Controls whether edges can be selected by selection actions.

Param in_val

Whether visible edges should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetEdges (HPS.Selectability.Value in_val)

Controls whether edges can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetEverything (bool in_val)

Sets the selectability of all geometry, subgeometry and windows.

Param in_val

Whether everything visible should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetEverything (HPS.Selectability.Value in_val)

Sets the selectability of all geometry, subgeometry and windows.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetFaces (bool in_val)

Controls whether faces can be selected by selection actions.

Param in_val

Whether visible faces should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetFaces (HPS.Selectability.Value in_val)

Controls whether faces can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetGeometry (bool in_val)

Sets the selectability of all edges, faces, lights, lines, markers, vertices, and text.

Param in_val

Whether visible geometry should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetGeometry (HPS.Selectability.Value in_val)

Sets the selectability of all edges, faces, lights, lines, markers, vertices, and text.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetLights (bool in_val)

Controls whether lights can be selected by selection actions.

Param in_val

Whether visible lights should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetLights (HPS.Selectability.Value in_val)

Controls whether lights can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetLines (bool in_val)

Controls whether lines can be selected by selection actions.

Param in_val

Whether visible lines should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetLines (HPS.Selectability.Value in_val)

Controls whether lines can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetMarkers (bool in_val)

Controls whether markers can be selected by selection actions.

Param in_val

Whether visible markers should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetMarkers (HPS.Selectability.Value in_val)

Controls whether markers can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetText (bool in_val)

Controls whether text can be selected by selection actions.

Param in_val

Whether visible text should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetText (HPS.Selectability.Value in_val)

Controls whether text can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetVertices (bool in_val)

Controls whether vertices can be selected by selection actions.

Param in_val

Whether visible vertices should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetVertices (HPS.Selectability.Value in_val)

Controls whether vertices can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

HPS.SelectabilityKit SetWindows (bool in_val)

Controls whether windows can be selected by selection actions.

Param in_val

Whether visible windows should be selectable.

Return

A reference to this object.

HPS.SelectabilityKit SetWindows (HPS.Selectability.Value in_val)

Controls whether windows can be selected by selection actions.

Param in_val

The level of selectability.

Return

A reference to this object.

void Show (out HPS.SelectabilityKit out_kit)

Copies all settings from this SelectabilityKit into the given SelectabilityKit.

Param out_kit

The SelectabilityKit to populate with the contents of this object.

bool ShowEdges (out HPS.Selectability.Value out_val)

Shows whether edges can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowFaces (out HPS.Selectability.Value out_val)

Shows whether faces can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowLights (out HPS.Selectability.Value out_val)

Shows whether lights can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowLines (out HPS.Selectability.Value out_val)

Shows whether lines can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowMarkers (out HPS.Selectability.Value out_val)

Shows whether markers can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowText (out HPS.Selectability.Value out_val)

Shows whether text can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowVertices (out HPS.Selectability.Value out_val)

Shows whether vertices can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

bool ShowWindows (out HPS.Selectability.Value out_val)

Shows whether windows can be selected by selection actions.

Param out_val

The level of selectability.

Return

true if the setting is valid, false otherwise.

HPS.SelectabilityKit UnsetEdges ()

Removes the selectability setting from edges.

Return

A reference to this object.

HPS.SelectabilityKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.SelectabilityKit UnsetFaces ()

Removes the selectability setting from faces.

Return

A reference to this object.

HPS.SelectabilityKit UnsetGeometry ()

Removes the selectability settings from edges, faces, lights, lines, markers, vertices, and text.

Return

A reference to this object.

HPS.SelectabilityKit UnsetLights ()

Removes the selectability setting from lights.

Return

A reference to this object.

HPS.SelectabilityKit UnsetLines ()

Removes the selectability setting from lines.

Return

A reference to this object.

HPS.SelectabilityKit UnsetMarkers ()

Removes the selectability setting from markers.

Return

A reference to this object.

HPS.SelectabilityKit UnsetText ()

Removes the selectability setting from text.

Return

A reference to this object.

HPS.SelectabilityKit UnsetVertices ()

Removes the selectability setting from vertices.

Return

A reference to this object.

HPS.SelectabilityKit UnsetWindows ()

Removes the selectability setting from windows.

Return

A reference to this object.

Public Static Functions

HPS.SelectabilityKit GetDefault ()

Creates a SelectabilityKit 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 SelectabilityKit with the default settings.

class Selection : public IDisposable

The Selection class is a concept class for selection-related enum classes.

Public Types

enum Algorithm

Enumeration of the various selection algorithms.

Values:

Visual
Analytic
enum Granularity

Enumeration of the various selection granularities.

Values:

General

Use the most efficient selection determination for curves, edges and lines.

Detailed

Use the most accurate selection determination for curves, edges and lines.

enum Level

Enumeration of the various selection levels.Enumeration of the various selection sorting choices.

Values:

Segment

Return the owning segment of the selected geometry entities in SelectionResults.

Entity

Return the selected geometry entities in SelectionResults.

Subentity

Return the selected geometry entities and the associated faces, edges and vertices for shells or meshes in SelectionResults.

class SelectionControl : public HPS.Control

The SelectionControl class is a smart pointer that is tied to a database object. It is used to perform both window space selections (by point, by area, by polygon, by line) and object space selections (by shell, by volume, by ray).

Public Functions

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.

ulong SelectByArea (HPS.Rectangle in_area, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Perform a window space area selection starting at the specified segment using the specified selection options.

Param in_area

Rectangle in window space at which to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByArea (HPS.Rectangle in_area, out HPS.SelectionResults out_results)

Perform a window space area selection starting at the specified segment using selection options set in the segment tree.

Param in_area

Rectangle in window space at which to perform the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByLine (HPS.Point[] in_points, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Perform a window space line selection starting at the specified segment using the specified selection options. Items outside of the frustum can be selected through this method when using Analytic selection.

Param in_points

Line in window space at which to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByLine (HPS.Point[] in_points, out HPS.SelectionResults out_results)

Perform a window space line selection starting at the specified segment using the selection options set in the segment tree. Items outside of the frustum can be selected through this method when using Analytic selection.

Param in_points

Line in window space at which to perform the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByPoint (HPS.Point in_location, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Perform a window space point selection starting at the specified segment using the specified selection options.

Param in_location

Point in window space at which to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByPoint (HPS.Point in_location, out HPS.SelectionResults out_results)

Perform a window space point selection starting at the specified segment using selection options set in segment tree.

Param in_location

Point in window space at which to perform the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByPolygon (HPS.Point[] in_points, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Perform a window space polygon selection starting at the specified segment using the specified selection options. Items outside of the frustum can be selected through this method when using Analytic selection.

Param in_points

Polygon in window space at which to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByPolygon (HPS.Point[] in_points, out HPS.SelectionResults out_results)

Perform a window space polygon selection starting at the specified segment using selection options set in the segment tree. Items outside of the frustum can be selected through this method when using Analytic selection.

Param in_points

Polygon in window space at which to perform the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByRay (HPS.Point in_start_point, HPS.Vector in_direction, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by ray starting at the specified segment using the specified selection options. This method can only select faceted geometry - not subentities.

Param in_start_point

Start point of ray.

Param in_direction

Direction vector for ray.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByRay (HPS.Point in_start_point, HPS.Vector in_direction, out HPS.SelectionResults out_results)

Performs an object space selection by ray starting at the specified segment using the selection options set in the segment tree. This method can only select faceted geometry - not subentities.

Param in_start_point

Start point of ray.

Param in_direction

Direction vector for ray.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByShell (HPS.ShellKey in_shell, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by shell starting at the specified segment using the specified selection options. This method can only select faceted geometry.

Param in_shell

Shell in the database to use to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByShell (HPS.ShellKey in_shell, out HPS.SelectionResults out_results)

Performs an object space selection by shell starting at the specified segment using the selection options set in the segment tree. This method can only select faceted geometry.

Param in_shell

Shell in the database to use to perform the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByShell (HPS.ShellKit in_shell, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by shell starting at the specified segment using the specified selection options. This method can only select faceted geometry.

Param in_shell

Shell to use to perform the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByShell (HPS.ShellKit in_shell, out HPS.SelectionResults out_results)

Performs an object space selection by shell starting at the specified segment using the selection options set in the segment tree. This method can only select faceted geometry.

Param in_shell

Shell to use to perform the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByVolume (HPS.SimpleCuboid in_volume, HPS.SelectionOptionsKit in_options, out HPS.SelectionResults out_results)

Performs an object space selection by volume starting at the specified segment using the specified selection options. If the volume is invalid, i.e., min > max for any component, an exception will be thrown.

Param in_volume

Volume to use when performing the selection.

Param in_options

Selection options to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

ulong SelectByVolume (HPS.SimpleCuboid in_volume, out HPS.SelectionResults out_results)

Performs an object space selection by volume starting at the specified segment using the selection options set in the segment tree. If the volume is invalid, i.e., min > max for any component, an exception will be thrown.

Param in_volume

Volume to use when performing the selection.

Param out_results

Results of the selection.

Return

Number of selected items.

SelectionControl (HPS.SelectionControl in_that)

The copy constructor creates a SelectionControl object that shares the underlying smart-pointer of the source SelectionControl.

Param in_that

The source SelectionControl to copy.

SelectionControl (HPS.WindowKey in_window)

This constructor creates a SelectionControl object which is tied to the specified window.

Param in_window

The window which this SelectionControl should operate on.

class SelectionItem : public HPS.Object

The SelectionItem class is a smart-pointer to a database object. It represents an item in a SelectionResults object.

Public Functions

bool Equals (HPS.SelectionItem in_that)

Check if the source SelectionItem is equivalent to this SelectionItem.

Return

true if the objects are equivalent, false otherwise.

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.

SelectionItem ()

The default constructor creates an uninitialized SelectionItem object. The Type() function will return Type.None.

SelectionItem (HPS.SelectionItem in_that)

The copy constructor creates a SelectionItem object that shares the underlying smart-pointer of the source SelectionItem.

Param in_that

The source SelectionItem to copy.

void Set (HPS.SelectionItem in_that)

Associate this SelectionItem with the same underlying impl as the source SelectionItem.

Param in_that

The source SelectionItem for the assignment.

bool ShowCharacters (out ulong[] out_characters)

Shows the indices to the characters within a text string for the item that was selected if using subentity selection.

Param out_characters

The indices to the characters within a text string for the item that was selected.

Return

true if the indices array is valid, false otherwise.

bool ShowEdges (out ulong[] out_vertices1, out ulong[] out_vertices2)

Shows the indices to the edges (i.e., indices to the vertices at each end of an edge) within a shell, mesh, or polygon for the item that was selected if using subentity selection.

Param out_vertices1

The list of the first vertex index for each edge. Returned to caller.

Param out_vertices2

The list of the second vertex index for each edge. Returned to caller.

Return

true if the indices array is valid, false otherwise.

bool ShowFaces (out ulong[] out_faces)

Shows the indices to the faces within a shell or mesh for the item that was selected if using subentity selection.

Param out_faces

The indices to the faces within a shell or mesh for the item that was selected.

Return

true if the indices array is valid, false otherwise.

bool ShowNormalizedSelectionPosition (out HPS.WindowPoint out_location)

Shows the Z-normalized selection position in window space for the item that was selected.

Param out_location

The selection position in window space with a normalized Z-coordinate for the item that was selected.

Return

true if the window space position is valid, false otherwise.

bool ShowPath (out HPS.KeyPath out_path)

Shows the key path for the item that was selected.

Param out_path

The key path for the item that was selected.

Return

true if the key path is valid, false otherwise.

bool ShowSelectedItem (out HPS.Key out_selection)

Shows the key for the item that was selected.

Param out_selection

The key for the item that was selected.

Return

true if the key is valid, false otherwise.

bool ShowSelectionLevel (out HPS.Selection.Level out_level)

Shows the selection level used when this item was selected.

Param out_level

The selection level used when this item was selected.

Return

true if the selection level is valid, false otherwise.

bool ShowSelectionPosition (out HPS.WindowPoint out_location)

Shows the selection position in window space for the item that was selected.

Param out_location

The selection position in window space for the item that was selected.

Return

true if the window space position is valid, false otherwise.

bool ShowSelectionPosition (out HPS.WorldPoint out_location)

Shows the selection position in world space for the item that was selected.

Param out_location

The selection position in world space for the item that was selected.

Return

true if the world space position is valid, false otherwise.

bool ShowVertices (out ulong[] out_vertices)

Shows the indices to the vertices within a shell, mesh, line, polygon, or NURBS curve for the item that was selected if using subentity selection.

Param out_vertices

The indices to the vertices within a shell, mesh, line, polygon, or NURBS curve for the item that was selected.

Return

true if the indices array is valid, false otherwise.

class SelectionOptionsControl : public HPS.Control

The HPS.SelectionOptionsControl class is a smart pointer that is tied to a database object. It is used to set selection related options on a HPS.WindowKey. Options include the selection algorithm, granularity, internal limit, related limit, level, proximity, and sorting. Default values for the various fields of HPS.SelectionOptionsControl can be found here.

Public Functions

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.

SelectionOptionsControl (HPS.SelectionOptionsControl in_that)

The copy constructor creates a SelectionOptionsControl object that shares the underlying smart-pointer of the source SelectionOptionsControl.

Param in_that

The source SelectionOptionsControl to copy.

SelectionOptionsControl (HPS.WindowKey in_window)

This constructor creates a SelectionOptionsControl object which is tied to the specified window.

Param in_window

The window which this SelectionOptionsControl should operate on.

HPS.SelectionOptionsControl SetAlgorithm (HPS.Selection.Algorithm in_algorithm)

Sets the type of selection algorithm to use. This setting has no effect on object space selections (i.e., select by shell, volume and ray).

See

Default value

Param in_algorithm

The type of selection algorithm to use.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetDeferralExtentCullingRespected (bool in_state)

Sets whether to respect the deferral extent culling option during selection. If this value is set to false, the deferral extent culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the deferral extent culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetDistanceCullingRespected (bool in_state)

Sets whether to respect the distance culling option during selection. If this value is set to false, the distance culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the distance culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetExtentCullingRespected (bool in_state)

Sets whether to respect the extent culling option during selection. If this value is set to false, the extent culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the extent culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetFrustumCullingRespected (bool in_state)

Sets whether to respect the frustum culling option during selection. If this value is set to false, the frustum culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the frustum culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetGranularity (HPS.Selection.Granularity in_granularity)

Sets the selection granularity to use.

See

Default value

Param in_granularity

The selection granularity to use.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetInternalLimit (ulong in_limit)

Sets the internal selection limit. The internal selection limit is the maximum number of subentities for shells and meshes that will be returned if performing subentity selection.

See

Default value

Param in_limit

The internal selection limit.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetLevel (HPS.Selection.Level in_level)

Sets the level at which selection will occur.

See

Default value

Param in_level

The level at which selection will occur.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetProximity (float in_proximity)

Sets the selection proximity in centimeters or object-relative-units (ORU), depending on the selection-routine being utilized. The selection proximity augments point-based or shell-based selections by also factoring in the area surrounding the selection-point or selection-shell. For HPS.SelectionControl.SelectByPoint, this specifies the radius in centimeters around the selection within which objects will be returned as selected. The value must be positive. For HPS.SelectionControl.SelectByShell, this specifies a distance in object-relative-units that determines whether a selection is performed. A positive proximity value will cause the selection algorithm to perform a selection when the distance between the two bodies is <= proximity, which means the bodies do not have to be touching in order for Visualize to perform a selection. If the proximity == 0, the bodies must be coincident or penetrating for a selection to occur. If proximity < 0, the shells must penetrate each other by at least that amount before a selection is performed. Selection proximity is not relevant for other selection types. When using HPS.SelectionControl.SelectByShell, false positives or negatives for selection may occur if the proximity and/or selection shells meet any of the following criteria:

  • The absolute value of a negative proximity is much larger than the actual intersection of the shells. An example would be a shell that represents a thin plate or a thinly-walled tube, and the specified proximity is larger than the thickness of the plate or tube.

  • Selection shells (“probes”) have vertices with complex intersections

  • Selection shells (“probes”) have concavities, especially multiple adjacent concavities.

See

Default value

See

Collision detection proximity

Param in_proximity

The radius around the selection within which objects will be returned as selected.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsControl SetRelatedLimit (ulong in_limit)

Sets the related selection limit. The related selection limit is the maximum number of items that will be returned as selected when performing a selection. A related selection limit of 0 would result in only the first item getting returned. If the value is greater than 0, this indicates the number of additional items beyond the first to return. The order of these additional items will depend on whether sorting is enabled (see SetSorting()).

See

Default value

See

SetSorting(Selection.Sorting)

Param in_limit

Limit on the number of items that will be returned as selected when performing a selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetSorting (bool in_sorting)

Sets whether to sort selection results. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit). Sorting works on an entity level. Subentity components like edges, vertices and faces are not sorted.

Deprecated:

This function exists for compatibility and SetSorting(Selection.Sorting) should be preferred in general usage.

See

Default value

Param in_sorting

Whether to sort selection results. A value of true is equivalent to passing Selection.Sorting.Default to SetSorting(Selection.Sorting), and a value of false is equivalent to passing Selection.Sorting.Off to SetSorting(Selection.Sorting).

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetSorting (HPS.Selection.Sorting in_sorting)

Sets how selection results will be sorted. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit()). Sorting works on an entity level. Subentity components like edges, vertices, and faces are not sorted. This option has no effect on SelectByShell. For SelectByPoint, all values of the Selection.Sorting enum apply. Selection.Sorting.Default is an alias for Selection.Sorting.Proximity. For all other selection types, Selection.Sorting.Proximity does not apply. Selection.Sorting.Default is an alias for Selection.Sorting.ZSorting.

See

Default value

See

Related limit in Programming Guide

See

SetRelatedLimit()

Param in_sorting

The type of selection sorting to use.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetVectorCullingRespected (bool in_state)

Sets whether to respect the vector culling option during selection. If this value is set to false, the vector culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the vector culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetVolumeCullingRespected (bool in_state)

Sets whether to respect the volume culling option during selection. If this value is set to false, the volume culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the volume culling option during selection.

Return

A reference to this SelectionOptionsControl.

bool ShowAlgorithm (out HPS.Selection.Algorithm out_algorithm)

Shows the selection algorithm for the associated window.

Param out_algorithm

The selection algorithm for the associated window.

Return

true if the selection algorithm is valid, false otherwise.

bool ShowDeferralExtentCullingRespected (out bool out_state)

Shows the deferral extent culling respected state for the associated window.

Param out_state

The deferral extent culling respected state.

Return

true if the deferral extent culling respected state is valid, false otherwise.

bool ShowDistanceCullingRespected (out bool out_state)

Shows the distance culling respected state for the associated window.

Param out_state

The distance culling respected state.

Return

true if the distance culling respected state is valid, false otherwise.

bool ShowExtentCullingRespected (out bool out_state)

Shows the extent culling respected state for the associated window.

Param out_state

The extent culling respected state.

Return

true if the extent culling respected state is valid, false otherwise.

bool ShowFrustumCullingRespected (out bool out_state)

Shows the frustum culling respected state for the associated window.

Param out_state

The frustum culling respected state.

Return

true if the frustum culling respected state is valid, false otherwise.

bool ShowGranularity (out HPS.Selection.Granularity out_granularity)

Shows the selection granularity for the associated window.

Param out_granularity

The selection granularity for the associated window.

Return

true if the selection granularity is valid, false otherwise.

bool ShowInternalLimit (out ulong out_limit)

Shows the internal selection limit for the associated window.

Param out_limit

The internal selection limit for the associated window.

Return

true if the internal selection limit is valid, false otherwise.

bool ShowLevel (out HPS.Selection.Level out_level)

Shows the selection level for the associated window.

Param out_level

The selection level for the associated window.

Return

true if the level is valid, false otherwise.

bool ShowProximity (out float out_proximity)

Shows the selection proximity for the associated window.

Param out_proximity

The selection proximity for the associated window.

Return

true if the proximity is valid, false otherwise.

bool ShowRelatedLimit (out ulong out_limit)

Shows the related selection limit for the associated window.

Param out_limit

The related selection limit for the associated window.

Return

true if the related selection limit is valid, false otherwise.

bool ShowSorting (out HPS.Selection.Sorting out_sorting)

Shows the type of selection sorting for the associated window.

Param out_sorting

The type of selection sorting to use for the associated window.

Return

true if the selection sorting type is valid, false otherwise.

bool ShowVectorCullingRespected (out bool out_state)

Shows the vector culling respected state for the associated window.

Param out_state

The vector culling respected state.

Return

true if the vector culling respected state is valid, false otherwise.

bool ShowVolumeCullingRespected (out bool out_state)

Shows the volume culling respected state for the associated window.

Param out_state

The volume culling respected state.

Return

true if the volume culling respected state is valid, false otherwise.

HPS.SelectionOptionsControl UnsetAlgorithm ()

Removes the Algorithm setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetDeferralExtentCullingRespected ()

Removes the Deferral Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetDistanceCullingRespected ()

Removes the distance Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetEverything ()

Removes all settings from this control. If the control is attached to a WindowKey this function restores the default settings of this control as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetExtentCullingRespected ()

Removes the ExtentCulling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetFrustumCullingRespected ()

Removes the Frustum Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetGranularity ()

Removes the Granularity setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetInternalLimit ()

Removes the Internal Limit setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetLevel ()

Removes the Selection Level setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetProximity ()

Removes the Proximity setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetRelatedLimit ()

Removes the Related Limit setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetSorting ()

Removes the Sorting setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetVectorCullingRespected ()

Removes the Vector Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetVolumeCullingRespected ()

Removes the Volume Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

class SelectionOptionsKit : public HPS.Kit

The SelectionOptionsKit class is a user space object. It contains options related to selection. Default values for the SelectionOptionsKit can be found in this table.

Public Functions

override bool Empty ()

Indicates whether this SelectionOptionsKit has any values set on it.

Return

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

bool Equals (HPS.SelectionOptionsKit in_kit)

Check if the source SelectionOptionsKit is equivalent to this SelectionOptionsKit.

Param in_kit

The source SelectionOptionsKit to compare to this SelectionOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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.

SelectionOptionsKit ()

The default constructor creates an empty SelectionOptionsKit object.

SelectionOptionsKit (HPS.SelectionOptionsKit in_kit)

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

Param in_kit

The source SelectionOptionsKit to copy.

void Set (HPS.SelectionOptionsKit in_kit)

Copies the source SelectionOptionsKit into this SelectionOptionsKit.

Param in_kit

The source SelectionOptionsKit to copy.

HPS.SelectionOptionsKit SetAlgorithm (HPS.Selection.Algorithm in_algorithm)

Sets the type of selection algorithm to use. This setting has no effect on object space selections (i.e., select by shell, volume and ray).

See

Default value

Param in_algorithm

The type of selection algorithm to use.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetCondition (string in_condition)

Sets a condition that is applied during the selection. This allows you to use condition logic during a selection without actually activating those conditions in the scene.

Param in_condition

The condition to set on this kit, replacing any existing conditions.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetConditions (string[] in_conditions)

Sets conditions that are applied during the selection. This allows you to use condition logic during a selection without actually activating those conditions in the scene.

Param in_conditions

The conditions to set on this kit, replacing any existing conditions.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetDeferralExtentCullingRespected (bool in_state)

Sets whether to respect the deferral extent culling option during selection. If this value is set to false, the deferral extent culling option (see HPS.CullingKit) will be ignored.

See

Default value

Param in_state

Whether to respect the deferral extent culling option during selection.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetDistanceCullingRespected (bool in_state)

Sets whether to respect the distance culling option during selection. If this value is set to false, the distance culling option (see HPS.CullingKit) will be ignored.

See

Default value Default value

Param in_state

Whether to respect the distance culling option during selection.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetExtentCullingRespected (bool in_state)

Sets whether to respect the extent culling option during selection. If this value is set to false, the extent culling option (see HPS.CullingKit) will be ignored.

See

Default value

Param in_state

Whether to respect the extent culling option during selection.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetFrustumCullingRespected (bool in_state)

Sets whether to respect the frustum culling option during selection. If this value is set to false, the frustum culling option (see HPS.CullingKit) will be ignored.

See

Default value

Param in_state

Whether to respect the frustum culling option during selection.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetGranularity (HPS.Selection.Granularity in_granularity)

Sets the selection granularity to use.

See

Default value

Param in_granularity

The selection granularity to use.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetInternalLimit (ulong in_limit)

Sets the internal selection limit. The internal selection limit is the maximum number of subentities for shells and meshes that will be returned if performing subentity selection.

See

Internal limit in Programming Guide

Param in_limit

The internal selection limit.

Return

A reference to this SelectionOptionsKit

HPS.SelectionOptionsKit SetLevel (HPS.Selection.Level in_level)

Sets the level at which selection will occur.

See

Default value

Param in_level

The level at which selection will occur.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetProximity (float in_proximity)

Sets the selection proximity in centimeters or object-relative-units (ORU), depending on the selection-routine being utilized. The selection proximity augments point-based or shell-based selections by also factoring in the area surrounding the selection-point or selection-shell. For HPS.SelectionControl.SelectByPoint, this specifies the radius in centimeters around the selection within which objects will be returned as selected. The value must be positive. For HPS.SelectionControl.SelectByShell, this specifies a distance in object-relative-units that determines whether a selection is performed. A positive proximity value will cause the selection algorithm to perform a selection when the distance between the two bodies is <= proximity, which means the bodies do not have to be touching in order for Visualize to perform a selection. If the proximity == 0, the bodies must be coincident or penetrating for a selection to occur. If proximity < 0, the shells must penetrate each other by at least that amount before a selection is performed. Selection proximity is not relevant for other selection types. When using HPS.SelectionControl.SelectByShell, false positives or negatives for selection may occur if the proximity and/or selection shells meet any of the following criteria:

  • The absolute value of a negative proximity is much larger than the actual intersection of the shells. An example would be a shell that represents a thin plate or a thinly-walled tube, and the specified proximity is larger than the thickness of the plate or tube.

  • Selection shells (“probes”) have vertices with complex intersections

  • Selection shells (“probes”) have concavities, especially multiple adjacent concavities.

See

Default value

See

Collision detection proximity

Param in_proximity

The radius around the selection within which objects will be returned as selected.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetRelatedLimit (ulong in_limit)

Sets the related selection limit. The related selection limit is the maximum number of items that will be returned as selected when performing a selection. A related selection limit of 0 would result in only the first item getting returned. If the value is greater than 0, this indicates the number of additional items beyond the first to return. The order of these additional items will depend on whether sorting is enabled (see SetSorting()).

See

Default value

See

Related limit in Programming Guide

See

SetSorting(Selection.Sorting)

Param in_limit

Limit on the number of items that will be returned as selected when performing a selection.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetScope (HPS.KeyPath in_start_path)

Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.

Param in_start_path

A path of segments and includes, leaf to root, from the segment to begin selection testing to the window key.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetScope (HPS.KeyPath in_start_path, bool in_scope_only)

Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.

Param in_start_path

A path of segments and includes, leaf to root, from the segment to begin selection testing to the window key.

Param in_scope_only

If true selections will only occur in the leaf segments of in_start_path, otherwise selections will occur in subsegments and includes of the leaf segments of in_start_path as well.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetScope (HPS.SegmentKey in_start_segment)

Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.

Param in_start_segment

A segment, that must be a child of the window key, in which to begin selection testing.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetScope (HPS.SegmentKey in_start_segment, bool in_scope_only)

Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.

Param in_start_segment

A segment, that must be a child of the window key, in which to begin selection testing.

Param in_scope_only

If true selections will only occur in the provided scope segment, otherwise selections will occur in subsegments and includes of in_start_segment as well.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetSelectability (HPS.SelectabilityKit in_selectability)

Sets selectability options that are applied during the selection.

Param in_selectability

A HPS.SelectabilityKit that encapsulates the selectability options to set on this kit.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetSorting (bool in_sorting)

Sets whether to sort selection results. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit). Sorting works on an entity level. Subentity components like edges, vertices and faces are not sorted.

Deprecated:

This function exists for compatibility and SetSorting(Selection.Sorting) should be preferred in general usage.

See

Default value

Param in_sorting

Whether to sort selection results. A value of true is equivalent to passing Selection.Sorting.Default to SetSorting(Selection.Sorting), and a value of false is equivalent to passing Selection.Sorting.Off to SetSorting(Selection.Sorting).

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetSorting (HPS.Selection.Sorting in_sorting)

Sets how selection results will be sorted. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit()). Sorting works on an entity level. Subentity components like edges, vertices, and faces are not sorted. This option has no effect on SelectByShell. For SelectByPoint, all values of the Selection.Sorting enum apply. Selection.Sorting.Default is an alias for Selection.Sorting.Proximity. For all other selection types, Selection.Sorting.Proximity does not apply. Selection.Sorting.Default is an alias for Selection.Sorting.ZSorting.

See

Default value

See

Related limit in Programming Guide

See

SetRelatedLimit()

Param in_sorting

The type of selection sorting to use.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetTreeContext (HPS.TreeContext in_tree_context)

Sets a TreeContext to be used for this selection. If many shell selections are going to be computed without modifying the segment tree, using the same tree context for all of them can be a significant optimization. If a TreeContext is not specified, a new one is computed each time.

Param in_tree_context

The tree context to use for this relation test.

Return

A reference to this object.

HPS.SelectionOptionsKit SetVectorCullingRespected (bool in_state)

Sets whether to respect the vector culling option during selection. If this value is set to false, the vector culling option (see HPS.CullingKit) will be ignored.

See

Default value Default value

Param in_state

Whether to respect the vector culling option during selection.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit SetVolumeCullingRespected (bool in_state)

Sets whether to respect the volume culling option during selection. If this value is set to false, the volume culling option (see HPS.CullingKit) will be ignored.

See

Default value Default value

Param in_state

Whether to respect the volume culling option during selection.

Return

A reference to this SelectionOptionsKit.

void Show (out HPS.SelectionOptionsKit out_kit)

Copies this SelectionOptionsKit into the given SelectionOptionsKit.

Param out_kit

The SelectionOptionsKit to populate with the contents of this SelectionOptionsKit.

bool ShowAlgorithm (out HPS.Selection.Algorithm out_algorithm)

Shows the selection algorithm.

Param out_algorithm

The selection algorithm.

Return

true if the selection algorithm is valid, false otherwise.

bool ShowDeferralExtentCullingRespected (out bool out_state)

Shows the deferral extent culling respected state.

Param out_state

The deferral extent culling respected state.

Return

true if the deferral extent culling respected state is valid, false otherwise.

bool ShowDistanceCullingRespected (out bool out_state)

Shows the distance culling respected state.

Param out_state

The distance culling respected state.

Return

true if the distance culling respected state is valid, false otherwise.

bool ShowExtentCullingRespected (out bool out_state)

Shows the extent culling respected state.

Param out_state

The extent culling respected state.

Return

true if the extent culling respected state is valid, false otherwise.

bool ShowFrustumCullingRespected (out bool out_state)

Shows the frustum culling respected state.

Param out_state

The frustum culling respected state.

Return

true if the frustum culling respected state is valid, false otherwise.

bool ShowGranularity (out HPS.Selection.Granularity out_granularity)

Shows the selection granularity.

Param out_granularity

The selection granularity.

Return

true if the selection granularity is valid, false otherwise.

bool ShowInternalLimit (out ulong out_limit)

Shows the internal selection limit.

Param out_limit

The internal selection limit.

Return

true if the internal selection limit is valid, false otherwise.

bool ShowLevel (out HPS.Selection.Level out_level)

Shows the selection level.

Param out_level

The selection level.

Return

true if the level is valid, false otherwise.

bool ShowProximity (out float out_proximity)

Shows the selection proximity.

Param out_proximity

The selection proximity.

Return

true if the proximity is valid, false otherwise.

bool ShowRelatedLimit (out ulong out_limit)

Shows the related selection limit.

Param out_limit

The related selection limit.

Return

true if the related selection limit is valid, false otherwise.

bool ShowScope (out HPS.KeyPath out_start_path, out bool out_scope_only)

Shows the starting location at which selection testing will begin.

Param out_start_path

A segment or collection of segments and includes organized from leaf to root.

Param out_scope_only

Whether selections will only occur in the leaf segments of out_start_path or if they can occur in subsegments and includes of the leaf segments of out_start_path.

Return

true if a selection scope was set, false otherwise.

bool ShowSelectability (out HPS.SelectabilityKit out_selectability)

Shows the selectability settings.

Param out_selectability

The selectability settings

Return

true if the selectability settings are valid, false otherwise.

bool ShowSorting (out HPS.Selection.Sorting out_sorting)

Shows the type of selection sorting.

Param out_sorting

The type of selection sorting to use.

Return

true if the selection sorting type is valid, false otherwise.

bool ShowTreeContext (out HPS.TreeContext out_tree_context)

Shows the tree context for this SelectionOptionsKit.

Param out_tree_context

The tree context to use for this relation test.

Return

true if a tree context was set, false otherwise.

bool ShowVectorCullingRespected (out bool out_state)

Shows the vector culling respected state.

Param out_state

The vector culling respected state.

Return

true if the vector culling respected state is valid, false otherwise.

bool ShowVolumeCullingRespected (out bool out_state)

Shows the volume culling respected state.

Param out_state

The volume culling respected state.

Return

true if the volume culling respected state is valid, false otherwise.

HPS.SelectionOptionsKit UnsetAlgorithm ()

Removes the selection algorithm.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetConditions ()

Unsets all conditions in this kit.

HPS.SelectionOptionsKit UnsetDeferralExtentCullingRespected ()

Removes the deferral extent culling respected option.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetDistanceCullingRespected ()

Removes the distance culling respected option.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetEverything ()

Removes all settings from this SelectionOptionsKit.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetExtentCullingRespected ()

Removes the extent culling respected option.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetFrustumCullingRespected ()

Removes the frustum culling respected option.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetGranularity ()

Removes the selection granularity.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetInternalLimit ()

Removes the internal selection limit.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetLevel ()

Removes the selection level.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetProximity ()

Removes the selection proximity.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetRelatedLimit ()

Removes the related selection limit.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetScope ()

Removes the selection scope setting from this SelectionOptionsKit.

Return

A reference to this object.

HPS.SelectionOptionsKit UnsetSelectability ()

Removes the selectability settings.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetSorting ()

Removes the selection sorting setting.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetTreeContext ()

Removes the tree context from this SelectionOptionsKit.

Return

A reference to this object.

HPS.SelectionOptionsKit UnsetVectorCullingRespected ()

Removes the vector culling respected option.

Return

A reference to this SelectionOptionsKit.

HPS.SelectionOptionsKit UnsetVolumeCullingRespected ()

Removes the volume culling respected option.

Return

A reference to this SelectionOptionsKit.

Public Static Functions

HPS.SelectionOptionsKit GetDefault ()

Creates a SelectionOptionsKit 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 SelectionOptionsKit with the default settings.

class SelectionResults : public HPS.Object

The SelectionResults class is a smart pointer to a database object. It is a handle to the results of a selection action and allows iteration over them. When there are no remaining handles to a given selection result, the memory associated with it is freed.

Public Functions

void Assign (HPS.SelectionResults in_that)

Share the underlying smart-pointer of the SelectionResults source.

Param in_that

The SelectionResults source of the assignment.

void Copy (HPS.SelectionResults in_that)

Copy the selection results from another SelectionResults object.

Param in_that

The SelectionResults source of the copy.

bool Difference (HPS.SelectionResults in_that)

Removes elements from this SelectionResults that also occur in the supplied SelectionResults. This will fail if the SelectionResults selections were performed at different levels (e.g. Entity vs Segment).

Param in_that

The SelectionResults to subtract from this object.

Return

true if the operation succeeded, false otherwise.

bool Equals (HPS.SelectionResults in_that)

Check if the source SelectionResults is equivalent to this SelectionResults.

Param in_that

The source SelectionResults to compare to this SelectionResults.

Return

true if the objects are equivalent, false otherwise.

ulong GetCount ()

Gets the number of items selected when the associated selection action occurred.

Return

Number of items selected when the associated selection action occurred.

HPS.SelectionResultsIterator GetIterator ()

Get an iterator that can be used to iterate through the selection results.

Return

An iterator that can be used to iterate through the selection results.

HPS.Selection.Level GetSelectionLevel ()

Gets the selection level used when the associated selection action occurred.

Return

The selection level used when the associated selection action occurred.

bool Intersect (HPS.SelectionResults in_that)

Perform a set intersection of elements in this SelectionResults object with the elements of the supplied SelectionResults. This will fail if the SelectionResults selections were performed at different levels (e.g. Entity vs Segment).

Param in_that

The SelectionResults to intersect with this object.

Return

true if the operation succeeded, false otherwise.

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.

override void Reset ()

Resets this object to its initial, uninitialized state.

SelectionResults ()

The default constructor creates an empty SelectionResults object which is not associated with any selection action.

SelectionResults (HPS.SelectionResults in_that)

The copy constructor creates a SelectionResults object that shares the underlying smart-pointer of the source SelectionResults.

Param in_that

The source SelectionResults to copy.

bool SymmetricDifference (HPS.SelectionResults in_that)

Perform a symmetric difference (similar to XOR) of elements in this SelectionResults object with the elements of the supplied SelectionResults. This will fail if the SelectionResults selections were performed at different levels (e.g. Entity vs Segment). The resulting SelectionResults will be unsorted, even if the sources were sorted.

Param in_that

The SelectionResults to take the symmetric difference of with this object.

Return

true if the operation succeeded, false otherwise.

bool Union (HPS.SelectionResults in_that)

Perform a set union of elements in this SelectionResults object with the elements of the supplied SelectionResults. This will fail if the SelectionResults selections were performed at different levels (e.g. Entity vs Segment). The resulting SelectionResults will be unsorted, even if the sources were sorted.

Param in_that

The SelectionResults to union with this object.

Return

true if the operation succeeded, false otherwise.

class SelectionResultsIterator : public HPS.Object

The SelectionResultsIterator class is used to iterate over a SelectionResults object and access the SelectionItem objects contained within it.

Public Functions

HPS.SelectionItem GetItem ()

Get the selection item this SelectionResultsIterator is currently pointing at. This will throw an exception if this iterator is not valid.

Return

The selection item this SelectionResultsIterator is currently pointing at.

bool IsValid ()

Indicates whether this SearchResultsIterator is pointing to a valid selection item.

Return

true if this SearchResultsIterator is pointing to a valid item, false otherwise.

void Next ()

Advances the iterator to the next selection item.

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.

override void Reset ()

Reset this SearchResultsIterator so it points to the first selection item in the associated SelectionResults object.

SelectionResultsIterator ()

The default constructor creates a SelectionResultsIterator object which is not associated with a SelectionResults object.

SelectionResultsIterator (HPS.SelectionResultsIterator in_that)

The copy constructor creates a SelectionResultsIterator object associated with the same SelectionResults object as the source SelectionResultsIterator and at the same location in the results. Subsequent changes to either iterator will not affect the other.

Param in_that

The source SelectionResultsIterator object to copy.

void Set (HPS.SelectionResultsIterator in_that)

Copies the source SelectionResultsIterator into this SelectionResultsIterator.

Param in_that

The source SelectionResultsIterator to copy.

class Shape : public IDisposable

The Shape class is a concept class for shape-related enum classes.

class ShapeCoordinate : public IDisposable

The ShapeCoordinate class is a coordinate used in shape definitions. Two ShapeCoordinates can be used together to define a ShapePoint It is a 2d parametric coordinate.

Public Functions

bool Equals (HPS.ShapeCoordinate in_that)

This function is used to check an object for equivalence to this.

Param in_that

The object to compare to this.

Return

true if the objects are equivalent, false otherwise.

HPS.ShapeCoordinate SetMargins (float in_margin_one)

Sets the margins for this ShapeCoordinate.

Param in_margin_one

The first margin value.

Return

A reference to this ShapeCoordinate.

HPS.ShapeCoordinate SetMargins (float in_margin_one, float in_margin_two)

Sets the margins for this ShapeCoordinate.

Param in_margin_one

The first margin value.

Param in_margin_two

The second margin value.

Return

A reference to this ShapeCoordinate.

HPS.ShapeCoordinate SetMargins (float in_margin_one, float in_margin_two, float in_margin_three)

Sets the margins for this ShapeCoordinate.

Param in_margin_one

The first margin value.

Param in_margin_two

The second margin value.

Param in_margin_three

The third margin value.

Return

A reference to this ShapeCoordinate.

HPS.ShapeCoordinate SetMargins (float in_margin_one, float in_margin_two, float in_margin_three, float in_margin_four)

Sets the margins for this ShapeCoordinate.

Param in_margin_one

The first margin value.

Param in_margin_two

The second margin value.

Param in_margin_three

The third margin value.

Param in_margin_four

The fourth margin value.

Return

A reference to this ShapeCoordinate.

ShapeCoordinate (float in_x, float in_y)

Construct a new ShapeCoordinate from an (x, y) pair.

Param in_x

A normalized distance over the horizontal text bounds.

Param in_y

A normalized distance over the vertical text bounds.

ShapeCoordinate (float in_x, float in_y, float in_radius)

Construct a new ShapeCoordinate from an (x, y, radius) tuple.

Param in_x

A normalized distance over the horizontal text bounds.

Param in_y

A normalized distance over the vertical text bounds.

Param in_radius

A normalized distance over the radius of the circle circumscribing the text bounds.

ShapeCoordinate (float in_x, float in_y, float in_radius, float[] in_margins)

Construct a new ShapeCoordinate from an (x, y, radius) tuple and up to four margin values.

Param in_x

A normalized distance over the horizontal text bounds.

Param in_y

A normalized distance over the vertical text bounds.

Param in_radius

A normalized distance over the radius of the circle circumscribing the text bounds.

Param in_margins

A series of up to four distances, normalized over the respective text margins.

ShapeCoordinate (float in_x, float in_y, float[] in_margins)

Construct a new ShapeCoordinate from an (x, y) pair and up to four margins values

Param in_x

A normalized distance over the horizontal text bounds.

Param in_y

A normalized distance over the vertical text bounds.

Param in_margins

A series of up to four distances, normalized over the respective text margins.

bool ShowMargins (out float[] out_margins)

Shows the margins for this ShapeCoordinate.

Param out_margins

The margins for this ShapeCoordinate.

Return

true if margins were set, false otherwise.

HPS.ShapeCoordinate UnsetMargins ()

Removes the margins for this ShapeCoordinate.

Return

A reference to this ShapeCoordinate.

class ShapeDefinition : public HPS.Definition

The ShapeDefinition class is a smart pointer to a database object. It is a handle to a shape defined within a portfolio.

Public Functions

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

Redefine the shape for this ShapeDefinition.

Param in_kit

The new shader for this ShapeDefinition.

ShapeDefinition ()

The default constructor creates an uninitialized ShapeDefinition object. The Type() function will return Type.None.

ShapeDefinition (HPS.Definition in_that)

This constructor creates a ShapeDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a shader definition. Otherwise the copy will fail and the resulting ShapeDefinition will be invalid.

Param in_that

The source Definition to copy.

ShapeDefinition (HPS.ShapeDefinition in_that)

The copy constructor creates a ShapeDefinition object that shares the underlying smart-pointer of the source ShapeDefinition.

Param in_that

The source ShapeDefinition to copy.

void Show (out HPS.ShapeKit out_kit)

Shows the shape for this ShapeDefinition.

Param out_kit

The shape for this ShapeDefinition.

class ShapeDefinitionArray : public HPS::InternalHPSArray<HPS.ShapeDefinition>
class ShapeElement : public HPS.Object

The ShapeElement class is a user space object. It is the base class for all shape elements.

Subclassed by HPS.AnchorShapeElement, HPS.CircleShapeElement, HPS.CircularArcShapeElement, HPS.EllipseShapeElement, HPS.EllipticalArcShapeElement, HPS.LeaderLineClippingElement, HPS.LineShapeElement, HPS.PolygonShapeElement

Public Functions

bool Equals (HPS.ShapeElement in_that)

Check if the source ShapeElement is equivalent to this ShapeElement.

Param in_that

The source ShapeElement to compare to this ShapeElement.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ShapeElement into this ShapeElement.

Param in_that

The source ShapeElement to copy.

HPS.ShapeElement SetDisjointed (bool in_state)

Sets the disjointed state for this ShapeElement. Two shape elements of the same type are automatically joined together if they appear consecutively in the shape element array. LineShapeElement objects are always disjointed.

Param in_state

The disjointed state for this ShapeElement.

HPS.ShapeElement SetFill (bool in_state)

Sets the fill mode for this ShapeElement. All shape elements default to being filled, except for Lines which cannot be filled.

Param in_state

The fill mode for this ShapeElement.

ShapeElement ()

The default constructor creates an empty ShapeElement object.

ShapeElement (HPS.ShapeElement in_that)

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

Param in_that

The source ShapeElement to copy.

bool ShowDisjointed (out bool out_state)

Shows the disjointed state for this ShapeElement. Two shape elements of the same type are automatically joined together if they appear consecutively in the shape element array. LineShapeElement objects are always disjointed.

Param out_state

Whether this shape element will be disjointed from the previous one.

Return

true if a disjointed state was set, false otherwise.

bool ShowFill (out bool out_state)

Shows the fill mode for this ShapeElement. All shape elements default to being filled, except for Lines which cannot be filled.

Param out_state

Whether faces are drawn for this shape element.

Return

true if a fill mode was set, false otherwise.

class ShapeElementArray : public HPS::InternalHPSArray<HPS.ShapeElement>
class ShapeKit : public HPS.Kit

The ShapeKit class is a user space object. It is used for specifying all settings related to a ShapeDefinition.

Public Functions

override bool Empty ()

Indicates whether this ShapeKit has any values set on it.

Return

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

bool Equals (HPS.ShapeKit in_kit)

Check if the source ShapeKit is equivalent to this ShapeKit.

Param in_kit

The source ShapeKit to compare to this ShapeKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ShapeKit into this ShapeKit.

Param in_kit

The source ShapeKit to copy.

HPS.ShapeKit SetElement (HPS.ShapeElement in_element)

Set a single element for this ShapeKit. This must be specified when defining a shape.

Param in_element

A reference to the ShapeElement to set on this kit.

Return

A reference to this ShapeKit.

HPS.ShapeKit SetElements (HPS.ShapeElement[] in_def)

Sets the elements for this ShapeKit. This must be specified when defining a shape.

Param in_def

The array of elements for the shape.

Return

A reference to this ShapeKit.

ShapeKit ()

The default constructor creates an empty ShapeKit object.

ShapeKit (HPS.ShapeKit in_kit)

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

Param in_kit

The source ShapeKit to copy.

void Show (out HPS.ShapeKit out_kit)

Copies this ShapeKit into the given ShapeKit.

Param out_kit

The ShapeKit to populate with the contents of this ShapeKit.

bool ShowElements (out HPS.ShapeElement[] out_def)

Shows the elements for this ShapeKit.

Param out_def

The elements for the shape.

Return

true if elements were set, false otherwise.

HPS.ShapeKit UnsetElements ()

Removes the elements for the shape.

Return

A reference to this ShapeKit.

HPS.ShapeKit UnsetEverything ()

Removes all settings from this ShapeKit.

Return

A reference to this ShapeKit.

Public Static Functions

HPS.ShapeKit GetDefault (HPS.Shape.Default in_default_shape)

Creates a ShapeKit which contains the definition of the specified default shape.

Param in_default_shape

The default shape for which to get the corresponding ShapeKit.

Return

A ShapeKit which contains the definition of the specified default shape.

class ShapePoint : public IDisposable

The ShapePoint class is a point used in shape definitions. It is a 2d point.

Public Functions

bool Equals (HPS.ShapePoint in_that)

This function is used to check an object for equivalence to this.

Param in_that

The object to compare to this.

Return

true if the objects are equivalent, false otherwise.

ShapePoint (float in_x, float in_y)

Construct a new ShapePoint, with margins computed automatically This is equivalent to using a ShapePoint constructed with the following two ShapeCoordinates ShapeCoordinate(A, 0, FloatArray(1, A)) ShapeCoordiante(0, B, FloatArray(1, B))

Param in_x

A normalized distance over the horizontal text bounds and margins

Param in_y

A normalized distance over the vertical text bounds and margins.

ShapePoint (HPS.ShapeCoordinate in_x, HPS.ShapeCoordinate in_y)

Construct a new ShapePoint from two ShapeCoordinate objects.

Param in_x

A ShapeCoordinate which will be used in the x direction.

Param in_y

A ShapeCoordinate which will be used in the x direction.

class ShapePointArray : public HPS::InternalHPSArray<HPS.ShapePoint>
class Shell : public IDisposable

The Shell class is a concept class for shell-related enum classes.

Public Types

enum Component

Enumerates the shell components that vertex colors can be applied to.

Values:

Faces

The vertex colors applied to faces.

Edges

The vertex colors applied to edges.

Vertices

The vertex colors applied to vertices.

class ShellKey : public HPS.GeometryKey

The ShellKey class is a smart pointer to a database object. It is a handle to a shell created by SegmentKey.InsertShell.

Public Functions

void ComputeRelation (HPS.Point[] in_points, HPS.ShellRelationOptionsKit in_options, out HPS.ShellRelationResultsKit out_results)

Computes the relation of a collection of points to this shell, subject to the specified options.

Param in_points

An array of points to test against this shell.

Param in_options

The options to use when performing the relation test.

Param out_results

The results of the relation test.

void ComputeRelation (HPS.ShellKey in_points_source, HPS.ShellRelationOptionsKit in_options, out HPS.ShellRelationResultsKit out_results)

Computes the relation of a collection of points to this shell, subject to the specified options.

Param in_points_source

A shell whose points should be tested against this shell.

Param in_options

The options to use when performing the relation test.

Param out_results

The results of the relation test.

void ComputeRelation (HPS.ShellKit in_points_source, HPS.ShellRelationOptionsKit in_options, out HPS.ShellRelationResultsKit out_results)

Computes the relation of a collection of points to this shell, subject to the specified options.

Param in_points_source

A shell whose points should be tested against this shell.

Param in_options

The options to use when performing the relation test.

Param out_results

The results of the relation test.

void Consume (HPS.ShellKit in_kit)

Completely replaces all settings on this ShellKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this ShellKey.

HPS.ShellKey EditFacelistByDeletion (ulong in_offset, ulong in_count)

Removes faces from the face list for this ShellKey. This will not affect the points referenced by the removed faces, however any face attributes on the removed faces will be lost.

Param in_offset

The offset into the faces for the shell at which to start removing faces. This value must be such that in_offset<face_count for deletion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.

Param in_count

The number of faces to remove from the face list for the shell. This value must be such that in_offset+in_count<=face_count for the deletion to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey EditFacelistByInsertion (ulong in_offset, int[] in_facelist)

Adds faces to the face list for this ShellKey.

Param in_offset

The offset into the faces for the shell at which to insert faces. This value must be such that in_offset<face_count for insertion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.

Param in_facelist

The faces (using the standard face-list encoding) to insert into the face list at the specified offset.

Return

A reference to this ShellKey.

HPS.ShellKey EditFacelistByReplacement (ulong in_offset, int[] in_facelist)

Replaces faces in the face list for this ShellKey.

Param in_offset

The offset into the faces for the shell at which to start replacing faces. This value must be such that in_offset<face_count for replacement to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.

Param in_facelist

The faces (using the standard face-list encoding) to use to replace those in the face list at the specified offset. The number of replacement faces must be such that in_offset+replacement_face_count<=face_count. This does not mean that the face list length must be the same, i.e., faces can use different numbers of vertices than previously, but rather is a limit on the number of faces encoded in the face list.

Return

A reference to this ShellKey.

HPS.ShellKey EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this ShellKey. Any existing faces which reference points which are being deleted will be removed. Additionally, any vertex settings on the deleted vertices, i.e., colors, normals, parameters, and visibilities, will be removed. The face list will also be updated to reflect the new vertex offsets caused by removing elements from the point list.

Param in_offset

The offset into the point list for the shell at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.

Param in_count

The number of points to delete from the point list for the shell. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this ShellKey. No existing faces will reference these points, i.e., the face list will be updated to reference the original vertices in their new positions. Addtionally, no vertex attributes will apply to these points, i.e., the vertex attributes will only be set on those points which had them prior to the insertion.

Param in_offset

The offset into the point list for the shell at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this ShellKey.

HPS.ShellKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this ShellKey. These points will replace those already referenced by any faces and will inherit any attributes the points being replaced had.

Param in_offset

The offset into the point list for the shell at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.

Param in_points

The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.

Return

A reference to this ShellKey.

ulong GetFaceCount ()

Retrieves the number of faces in this shell. Note that this is different than the length of the face list

Return

The number of faces in this shell.

ulong GetPointCount ()

Retrieves the number of points in this shell.

Return

The number of points in this shell.

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 Optimize (HPS.ShellOptimizationOptionsKit in_shell_optimization_kit)

Optimizes the shell using the parameters set in a ShellOptimizationOptionsKit

void Set (HPS.ShellKit in_kit)

Replace those settings on this ShellKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this ShellKey.

HPS.ShellKey SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float in_index)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_index

The material index to set on the edges.

Return

A reference to this ShellKey.

HPS.ShellKey SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float[] in_indices)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_indices

The material indices to set on the edges.

Return

A reference to this ShellKey.

HPS.ShellKey SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor in_rgb_color)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_color

The color to set on the edges.

Return

A reference to this ShellKey.

HPS.ShellKey SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor[] in_rgb_colors)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_colors

The colors to set on the edges.

Return

A reference to this ShellKey.

HPS.ShellKey SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool in_visibility)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibility

The visibility to apply to each edge specified.

Return

A reference to this ShellKey.

HPS.ShellKey SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool[] in_visibilities)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibilities

The visibilities that should be set for each edge specified.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceIndexColorsByList (ulong[] in_faces, float in_index)

Sets a single material index on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_index

The material index to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceIndexColorsByList (ulong[] in_faces, float[] in_indices)

Sets face material indices on a selection of arbitrary faces. If the sizes of the face index and material index arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_indices

The material indices to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceIndexColorsByRange (ulong in_start, float[] in_indices)

Sets face material indices on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.

Param in_indices

The material indices to set on the faces for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=face_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_index

The material index to set on the faces for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetFacelist (int[] in_facelist)

Replace the face list on this ShellKey with the specified face list.

Param in_facelist

The face list to use to replace the one for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceNormalsByList (ulong[] in_faces, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the normal. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_normal

The normal to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceNormalsByList (ulong[] in_faces, HPS.Vector[] in_normals)

Sets face normals on a selection of arbitrary faces. If the sizes of the face index and normal arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the normals. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_normals

The normals to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting normals. This value must be such that in_start<face_count for setting to succeed.

Param in_normals

The normals to set on the faces for this ShellKey. The size of the array must be such that in_start+in_normals.size()<=face_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting the normal. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the normal. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_normal

The normal to set on the faces for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_rgb_color

The RGB color to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a selection of arbitrary faces. If the sizes of the face index array and the color array different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting colors. This value must be such that in_start<face_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the faces for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=face_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting the color. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the color. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the faces for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceVisibilitiesByList (ulong[] in_faces, bool in_visibility)

Sets a single visibility on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the visibility. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_visibility

The visibility to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceVisibilitiesByList (ulong[] in_faces, bool[] in_visibilities)

Sets face visibilities on a selection of arbitrary faces. If the sizes of the face index and visibility arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the visibilities. Each index in the array must be such that in_faces[i]<face_count for setting to succeed.

Param in_visibilities

The visibilities to set on the faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting visibilities. This value must be such that in_start<face_count for setting to succeed.

Param in_visibilities

The visibilities to set on the faces for this ShellKey. The size of the array must be such that in_start+in_visibilities.size()<=face_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetFaceVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start setting the visibility. This value must be such that in_start<face_count for setting to succeed.

Param in_count

The number of faces on which to set the visibility. This value must be such that in_start+in_count<=face_count for the setting to succeed.

Param in_visibility

The visibility to set on the faces for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetMaterialMapping (HPS.MaterialMappingKit in_kit)

Sets the specified material mappings on this ShellKey. Only face, back face, cut edge, cut face, edge, and vertex materials will be set on the shell. These material settings will be “global” for the shell, i.e., all types will get the material for that type. To get different materials for the same types, e.g., faces with different colors, it is necessary to use the per-vertex or per-face functions.

Param in_kit

The material mappings to set on this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetPoints (HPS.Point[] in_points)

Replace the points on this ShellKey with the specified points.

Param in_points

The points to use to replace those for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetTristrips (int[] in_tristrips)

Replace the face list on this ShellKey with the specified face list.

Param in_tristrips

The tristrips list to use to replace the one for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_index

The material index to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Shell.Component in_apply_to)

Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Shell.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Shell.Component in_apply_to)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_indices

The material indices to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_indices.size()<=point_count for the setting to succeed.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Shell.Component in_apply_to)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_index

The material index to set on the vertices for this ShellKey.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the normal. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_normal

The normal to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector[] in_normals)

Sets vertex normals on a selection of arbitrary vertices. If the sizes of the vertex index and normal arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the normals. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_normals

The normals to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start setting normals. This value must be such that in_start<point_count for setting to succeed.

Param in_normals

The normals to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_normals.size()<=point_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the normal. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the normal. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_normal

The normal to set on the vertices for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexParametersByList (ulong[] in_vertices, float[] in_params)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_params

The texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexParametersByList (ulong[] in_vertices, float[] in_params, ulong in_param_width)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_params

The texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexParametersByRange (ulong in_start, float[] in_params)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.

Param in_params

The texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored. The size of the array must be such that in_start+in_params.size()/in_param_width<=point_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexParametersByRange (ulong in_start, float[] in_params, ulong in_param_width)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start setting texture parameters. This value must be such that in_start<point_count for setting to succeed.

Param in_params

The texture parameters to set on the vertices for this ShellKey. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored. The size of the array must be such that in_start+in_params.size()/in_param_width<=point_count for the setting to succeed.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgba_color

The RGBA color to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color, HPS.Shell.Component in_apply_to)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgba_color

The RGBA color to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgba_colors

The RGBA colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgba_colors.size()<=point_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgba_colors

The RGBA colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgba_colors.size()<=point_count for the setting to succeed.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgba_color

The RGBA color to set on the vertices for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color, HPS.Shell.Component in_apply_to)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgba_color

The RGBA color to set on the vertices for this ShellKey.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Shell.Component in_apply_to)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting colors. This value must be such that in_start<point_count for setting to succeed.

Param in_rgb_colors

The RGB colors to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_rgb_colors.size()<=point_count for the setting to succeed.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Shell.Component in_apply_to)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the color. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the color. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_rgb_color

The RGB color to set on the vertices for this ShellKey.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexVisibilitiesByList (ulong[] in_vertices, bool in_visibility)

Sets a single visibility on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the visibility. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibility

The visibility to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexVisibilitiesByList (ulong[] in_vertices, bool[] in_visibilities)

Sets vertex visibilities on a selection of arbitrary vertices. If the sizes of the vertex index and visibility arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the visibilities. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibilities

The visibilities to set on the vertices.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start setting visibilities. This value must be such that in_start<point_count for setting to succeed.

Param in_visibilities

The visibilities to set on the vertices for this ShellKey. The size of the array must be such that in_start+in_visibilities.size()<=point_count for the setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey SetVertexVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start setting the visibility. This value must be such that in_start<point_count for setting to succeed.

Param in_count

The number of vertices on which to set the visibility. This value must be such that in_start+in_count<=point_count for the setting to succeed.

Param in_visibility

The visibility to set on the vertices for this ShellKey.

Return

A reference to this ShellKey.

ShellKey ()

The default constructor creates an uninitialized ShellKey object. The Type() function will return Type.None.

ShellKey (HPS.Key in_that)

This constructor creates an ShellKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a shell key. Otherwise the copy will fail and the resulting ShellKey will be invalid.

ShellKey (HPS.ShellKey in_that)

The copy constructor creates a ShellKey object that shares the underlying smart-pointer of the source ShellKey.

Param in_that

The source ShellKey to copy.

void Show (out HPS.ShellKit out_kit)

Copy the contents of this ShellKey into the specified kit.

Param out_kit

The kit to populate with the contents of this ShellKey.

bool ShowEdgeColors (out ulong[] out_vertices1, out ulong[] out_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param out_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed.

Param out_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is MaterialIndex.

Return

A reference to this ShellKey.

bool ShowEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.MaterialIndex.

Return

A reference to this ShellKey.

bool ShowEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, out bool[] out_validities, out bool[] out_visibilities)

Shows all the edge visibilities on this ShellKey.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_validities

The validities of the visibilities for each edge. If an edge has a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The edge visibilities for each edge. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowFaceColors (out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on ShellKey.

Param out_types

The types of face colors for each face. If a face does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face had a face color set, false otherwise.

bool ShowFaceColorsByList (ulong[] in_faces, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a selection of arbitrary faces. The order of the values in the ouput arrays is the same as the input face index array, i.e., the values of out_types[i], out_rgb_colors[i], and out_indices[i], correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the colors. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.

Param out_types

The types of face colors for each face at the specified index. If a face at a specified index does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified face had a face color set, false otherwise.

bool ShowFaceColorsByRange (ulong in_start, ulong in_count, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start showing colors. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of colors to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.

Param out_types

The types of face colors for each face in the specified range. If a face in the specified range does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face in the specified range had a face color set, false otherwise.

bool ShowFacelist (out int[] out_facelist)

Show the face list for this ShellKey.

Param out_facelist

The face list for this ShellKey.

Return

true if face list was set, false otherwise.

bool ShowFaceNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows all the face normals for this ShellKey.

Param out_validities

The validities of the normals for each face. If a face had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face had a face normal set, false otherwise.

bool ShowFaceNormalsByList (ulong[] in_faces, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face normal set, false otherwise.

bool ShowFaceNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.

Param out_validities

The validities of the normals for each face in the specified range. If a face in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face normal set, false otherwise.

bool ShowFaceVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the face visibilities on this ShellKey.

Param out_validities

The validities of the visibilities for each face. If a face had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByList (ulong[] in_faces, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start showing visibilities. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of visibilities to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.

Param out_validities

The validities of the visibilities for each face in the specified range. If a face in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face visibility set, false otherwise.

bool ShowMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the material mappings set on this ShellKey. These are the “global” material settings, not the per-vertex and per-face material settings.

Param out_kit

The material mappings set on this ShellKey.

Return

true if material mappings were set, false otherwise.

bool ShowNetFaceNormalsByList (ulong[] in_faces, out HPS.Vector[] out_normals)

Shows the effective face normals on a selection of arbitrary faces. If a normal for a given face is unspecified, this will retrieve the effective normal. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals. Each index in the array must be such that in_faces[i]<face_count for showing to succeed.

Param out_normals

The face normals for each face at the specified index.

Return

true if no errors were encountered, false otherwise.

bool ShowNetFaceNormalsByRange (ulong in_start, ulong in_count, out HPS.Vector[] out_normals)

Shows the effective face normals on a range of faces starting at the specified offset. If a normal for a given face is unspecified, this will retrieve the effective normal.

Param in_start

The offset into the faces for this ShellKey at which to start showing normals. This value must be such that in_start<face_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=face_count for the showing to succeed.

Param out_normals

The face normals for each face in the specified range.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormals (out HPS.Vector[] out_normals)

Shows the all net vertex normals on this ShellKey.

Param out_normals

The vertex normals for each vertex.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormals (out HPS.Vector[] out_normals, HPS.Drawing.Handedness in_polygon_handedness)

Shows the all net vertex normals on this ShellKey.

Param out_normals

The vertex normals for each vertex.

Param in_polygon_handedness

The polygon handedness to assume when returning normals. Defaults to None. Specifying no handedness when requesting net normals, will return the normals using the handedness used internally by Visualize for this particular shell. When specifying a handedness, only normals which were implicitly calculated by Visualize will be flipped to conform to the requested handedness. User specified normals will be left untouched.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormalsByRange (ulong in_start, ulong in_count, out HPS.Vector[] out_normals)

Shows the net vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_normals

The vertex normals for each vertex in the specified range.

Return

true if no errors were encountered, false otherwise.

bool ShowNetVertexNormalsByRange (ulong in_start, ulong in_count, out HPS.Vector[] out_normals, HPS.Drawing.Handedness in_polygon_handedness)

Shows the net vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_normals

The vertex normals for each vertex in the specified range.

Param in_polygon_handedness

The polygon handedness to assume when returning normals. Defaults to None. Specifying no handedness when requesting net normals, will return the normals using the handedness used internally by Visualize for this particular shell. When specifying a handedness, only normals which were implicitly calculated by Visualize will be flipped to conform to the requested handedness. User specified normals will be left untouched.

Return

true if no errors were encountered, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this ShellKey.

Param out_points

The points for this ShellKey.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this ShellKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this ShellKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this ShellKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this ShellKey.

Return

true if all requested points were set, false otherwise.

bool ShowTristrips (out int[] out_tristrips)

Show the tristrips list for this ShellKey. A tristrip is defined internally as three points which form a triangle, followed by another point for each additional triangle in the strip. The points that make up a shell may be divided into multiple tristrips. For example, if a shell contains two tristrips - one with 3 triangles and one with 4 - this function will return the data in the following format: [5, a, b, c, d, e, 6, f, g, h, i, j, k] where the numbers indicate how many of the subsequent array entries make up the current tristrip, and the letters are indices into the shell’s array of points.

Param out_tristrips

The tristrip list for this ShellKey.

Return

true if tristrips list was set, false otherwise.

bool ShowTristrips (out int[] out_tristrips, out int[] out_face_indices)

Show the tristrips list for this ShellKey. A tristrip is defined internally as three points which form a triangle, followed by another point for each additional triangle in the strip. The points that make up a shell may be divided into multiple tristrips. For example, if a shell contains two tristrips - one with 3 triangles and one with 4 - this function will return the data in the following format: [5, a, b, c, d, e, 6, f, g, h, i, j, k] where the numbers indicate how many of the subsequent array entries make up the current tristrip, and the letters are indices into the shell’s array of points. The out_face_indices contains one entry for each triangle in out_tristrips. Each entry indicates which face the corresponding triangle in out_tristrips belongs to.

Param out_tristrips

The tristrip list for this ShellKey.

Param out_face_indices

The corresponding face indices for each triangle in the tristrip list.

Return

true if tristrips list was set, false otherwise.

bool ShowVertexColors (HPS.Shell.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows all the vertex colors on the specified shell component.

Param in_apply_to

The shell component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified shell component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Shell.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified shell component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], out_rgba_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.

Param in_apply_to

The shell component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex at the specified index. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Shell.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKey at which to start showing colors. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of colors to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param in_apply_to

The shell component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified shell component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex in the specified range. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

bool ShowVertexNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows all the vertex normals on this ShellKey.

Param out_validities

The validities of the normals for each vertex. If a vertex had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex normals were shown, false otherwise.

bool ShowVertexNormalsByList (ulong[] in_vertices, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex normal set, false otherwise.

bool ShowVertexNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start showing normals. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of normals to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_validities

The validities of the normals for each vertex in the specified range. If a vertex in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex normal set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params)

Shows the texture parameters for all of the vertices on this ShellKey. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters for all of the vertices on this ShellKey.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a selection of arbitrary vertices. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_vertices.size(). The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a selection of arbitrary vertices. The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a range of vertices starting at the specified offset. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param in_start

The offset into the vertices for this ShellKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of vertices for which to show the texture parameters. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start showing texture parameters. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of vertices for which to show the texture parameters. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the vertex visibilities on this ShellKey.

Param out_validities

The validities of the visibilities for each vertex. If a vertex had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByList (ulong[] in_vertices, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals. Each index in the array must be such that in_vertices[i]<point_count for showing to succeed.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start showing visibilities. This value must be such that in_start<point_count for showing to succeed.

Param in_count

The number of visibilities to show. This value must be such that in_start+in_count<=point_count for the showing to succeed.

Param out_validities

The validities of the visibilities for each vertex in the specified range. If a vertex in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex visibility set, false otherwise.

HPS.ShellKey UnsetEdgeColors ()

Unsets edge colors on all edges.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetEdgeEverything ()

Removes all edge settings (edge colors and edge visibilities) from this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetEdgeVisibilities ()

Removes all edge visibility settings.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetEverything ()

Removes all settings from this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceColors ()

Removes all face colors (RGB colors or material indices).

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of face colors (RGB colors or material indices) starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start removing colors. This value must be such that in_start<face_count for removal to succeed.

Param in_count

The number of face colors to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceEverything ()

Removes all face settings (face colors, face normals, and face visibilities) from this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFacelist ()

Removes the face list for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceNormals ()

Removes all face normals.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceNormalsByList (ulong[] in_vertices)

Removes the face normals on a selection of arbitrary faces.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of face normals starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start removing normals. This value must be such that in_start<face_count for removal to succeed.

Param in_count

The number of face normals to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceVisibilities ()

Removes all face visibilities.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetFaceVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of face visibilities starting at the specified offset.

Param in_start

The offset into the faces for this ShellKey at which to start removing visibilities. This value must be such that in_start<face_count for removal to succeed.

Param in_count

The number of face visibilities to remove for this ShellKey. This value must be such that in_start+in_count<=face_count for the removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetMaterialMapping ()

Removes all material mappings on this ShellKey. This removes the “global” material settings and does not affect per-vertex or per-face materials.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetPoints ()

Removes the points for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetTristrips ()

Removes the tristrips list for this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexColors ()

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for all shell components.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexColors (HPS.Shell.Component in_apply_to)

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component.

Param in_apply_to

The shell component for which to remove the colors.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for all shell components on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexColorsByList (ulong[] in_vertices, HPS.Shell.Component in_apply_to)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.

Param in_apply_to

The shell component for which to remove the colors.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for all shell components starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex colors to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Shell.Component in_apply_to)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start removing colors. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex colors to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.

Param in_apply_to

The shell component for which to remove the colors.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexEverything ()

Removes all vertex settings (vertex colors, vertex normals, texture parameters, and vertex visibilities) from this ShellKey.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexNormals ()

Removes all vertex normals.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexNormalsByList (ulong[] in_vertices)

Removes the vertex normals on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the normals. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex normals starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start removing normals. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex normals to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexParameters ()

Removes all texture parameters.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexParametersByList (ulong[] in_vertices)

Removes the texture parameters on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the texture parameters. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexParametersByRange (ulong in_start, ulong in_count)

Removes the specified range of texture parameters starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start removing texture parameters. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of texture parameters to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexVisibilities ()

Removes all vertex visibilities.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexVisibilitiesByList (ulong[] in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities. Each index in the array must be such that in_vertices[i]<point_count for removal to succeed.

Return

A reference to this ShellKey.

HPS.ShellKey UnsetVertexVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex visibilities starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKey at which to start removing visibilities. This value must be such that in_start<point_count for removal to succeed.

Param in_count

The number of vertex visibilities to remove for this ShellKey. This value must be such that in_start+in_count<=point_count for the removal to succeed.

Return

A reference to this ShellKey.

class ShellKit : public HPS.Kit

The ShellKit class is a user space object. It is the kit analog to a ShellKey.

Public Functions

void ComputeRelation (HPS.Point[] in_points, HPS.ShellRelationOptionsKit in_options, out HPS.ShellRelationResultsKit out_results)

Computes the relation of a collection of points to this shell, subject to the specified options.

Param in_points

An array of points to test against this shell.

Param in_options

The options to use when performing the relation test.

Param out_results

The results of the relation test.

void ComputeRelation (HPS.ShellKey in_points_source, HPS.ShellRelationOptionsKit in_options, out HPS.ShellRelationResultsKit out_results)

Computes the relation of a collection of points to this shell, subject to the specified options.

Param in_points_source

A shell whose points should be tested against this shell.

Param in_options

The options to use when performing the relation test.

Param out_results

The results of the relation test.

void ComputeRelation (HPS.ShellKit in_points_source, HPS.ShellRelationOptionsKit in_options, out HPS.ShellRelationResultsKit out_results)

Computes the relation of a collection of points to this shell, subject to the specified options.

Param in_points_source

A shell whose points should be tested against this shell.

Param in_options

The options to use when performing the relation test.

Param out_results

The results of the relation test.

void Consume (HPS.ShellKit in_kit)

Copies the source ShellKit into this ShellKit and resets the source kit.

Param in_kit

The source ShellKit to consume.

HPS.ShellKit EditFacelistByDeletion (ulong in_offset, ulong in_count)

Removes faces from the face list for this ShellKit. This will not affect the points referenced by the removed faces, however any face attributes on the removed faces will be lost.

Param in_offset

The offset into the faces for the shell at which to start removing faces. This value must be such that in_offset<face_count for deletion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.

Param in_count

The number of faces to remove from the face list for the shell. This value must be such that in_offset+in_count<=face_count for the deletion to succeed.

Return

A reference to this ShellKit.

HPS.ShellKit EditFacelistByInsertion (ulong in_offset, int[] in_facelist)

Adds faces to the face list for this ShellKit.

Param in_offset

The offset into the faces for the shell at which to insert faces. This value must be such that in_offset<face_count for insertion to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.

Param in_facelist

The faces (using the standard face-list encoding) to insert into the face list at the specified offset.

Return

A reference to this ShellKit.

HPS.ShellKit EditFacelistByReplacement (ulong in_offset, int[] in_facelist)

Replaces faces in the face list for this ShellKit.

Param in_offset

The offset into the faces for the shell at which to start replacing faces. This value must be such that in_offset<face_count for replacement to succeed. This is not an offset into the raw face list, but is relative to the actual face count for the shell.

Param in_facelist

The faces (using the standard face-list encoding) to use to replace those in the face list at the specified offset. The number of replacement faces must be such that in_offset+replacement_face_count<=face_count. This does not mean that the face list length must be the same, i.e., faces can use different numbers of vertices than previously, but rather is a limit on the number of faces encoded in the face list.

Return

A reference to this ShellKit.

HPS.ShellKit EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this ShellKit. Any existing faces which reference points which are being deleted will be removed. Additionally, any vertex attributes on the deleted vertices, i.e., colors, normals, parameters, and visibilities, will be removed. The face list will also be updated to reflect the new vertex offsets caused by removing elements from the point list.

Param in_offset

The offset into the point list for the shell at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.

Param in_count

The number of points to delete from the point list for the shell. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.

Return

A reference to this ShellKit.

HPS.ShellKit EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this ShellKit. No existing faces will reference these points, i.e., the face list will be updated to reference the original vertices in their new positions. Addtionally, no vertex attributes will apply to these points, i.e., the vertex attributes will only be set on those points which had them prior to the insertion.

Param in_offset

The offset into the point list for the shell at which to insert points. This value must be such that in_offset<point_count for insertion to succeed.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this ShellKit.

HPS.ShellKit EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this ShellKit. These points will replace those already referenced by any faces and will inherit any attributes the points being replaced had.

Param in_offset

The offset into the point list for the shell at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.

Param in_points

The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.

Return

A reference to this ShellKit.

override bool Empty ()

Indicates whether this ShellKit has any values set on it.

Return

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

bool Equals (HPS.ShellKit in_kit)

Check if the source ShellKit is equivalent to this ShellKit.

Param in_kit

The source ShellKit to compare to this ShellKit.

Return

true if the objects are equivalent, false otherwise.

ulong GetFaceCount ()

Retrieves the number of faces in this shell. Note that this is different than the length of the face list

Return

The number of faces in this shell.

ulong GetPointCount ()

Retrieves the number of points in this shell.

Return

The number of points in this shell.

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 Optimize (HPS.ShellOptimizationOptionsKit in_shell_optimization_kit)

Optimizes the shell using the parameters set in a ShellOptimizationOptionsKit

void Set (HPS.ShellKit in_kit)

Copies the source ShellKit into this ShellKit.

Param in_kit

The source ShellKit to copy.

HPS.ShellKit SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float in_index)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_index

The material index to set on the edges.

Return

A reference to this ShellKit.

HPS.ShellKit SetEdgeIndexColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, float[] in_indices)

Sets edge material indices on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_indices

The material indices to set on the edges.

Return

A reference to this ShellKit.

HPS.ShellKit SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor in_rgb_color)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_color

The color to set on the edges.

Return

A reference to this ShellKit.

HPS.ShellKit SetEdgeRGBColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, HPS.RGBColor[] in_rgb_colors)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_rgb_colors

The colors to set on the edges.

Return

A reference to this ShellKit.

HPS.ShellKit SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool in_visibility)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibility

The visibility to apply to each edge specified.

Return

A reference to this ShellKit.

HPS.ShellKit SetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, bool[] in_visibilities)

Sets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_visibilities

The visibilities that should be set for each edge specified.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceIndexColorsByList (ulong[] in_faces, float in_index)

Sets a single material index on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color.

Param in_index

The material index to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceIndexColorsByList (ulong[] in_faces, float[] in_indices)

Sets face material indices on a selection of arbitrary faces. If the sizes of the face index and material index arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors.

Param in_indices

The material indices to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceIndexColorsByRange (ulong in_start, float[] in_indices)

Sets face material indices on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting colors.

Param in_indices

The material indices to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting the color.

Param in_count

The number of faces on which to set the color.

Param in_index

The material index to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFacelist (int[] in_facelist)

Sets the face list for this ShellKit.

Param in_facelist

The face list for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceNormalsByList (ulong[] in_faces, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the normal.

Param in_normal

The normal to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceNormalsByList (ulong[] in_faces, HPS.Vector[] in_normals)

Sets face normals on a selection of arbitrary faces. If the sizes of the face index and normal arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the normals.

Param in_normals

The normals to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting normals.

Param in_normals

The normals to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting the normal.

Param in_count

The number of faces on which to set the normal.

Param in_normal

The normal to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the color.

Param in_rgb_color

The RGB color to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceRGBColorsByList (ulong[] in_faces, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a selection of arbitrary faces. If the sizes of the face index array and the color array different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets face RGB colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting the color.

Param in_count

The number of faces on which to set the color.

Param in_rgb_color

The RGB color to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceVisibilitiesByList (ulong[] in_faces, bool in_visibility)

Sets a single visibility on a selection of arbitrary faces.

Param in_faces

The indices of the faces on which to set the visibility.

Param in_visibility

The visibility to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceVisibilitiesByList (ulong[] in_faces, bool[] in_visibilities)

Sets face visibilities on a selection of arbitrary faces. If the sizes of the face index and visibility arrays are different, the smaller size will be used.

Param in_faces

The indices of the faces on which to set the visibilities.

Param in_visibilities

The visibilities to set on the faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting visibilities.

Param in_visibilities

The visibilities to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetFaceVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start setting the visibility.

Param in_count

The number of faces on which to set the visibility.

Param in_visibility

The visibility to set on the faces for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetMaterialMapping (HPS.MaterialMappingKit in_kit)

Sets the specified material mappings on this ShellKit. If this kit is used to insert a shell, only face, back face, cut edge, cut face, edge, and vertex materials will be set on the inserted shell. These material settings will be “global” for the shell, i.e., all types will get the material for that type. To get different materials for the same types, e.g., faces with different colors, it is necessary to use the per-vertex or per-face functions.

Param in_kit

The material mappings to set on this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetPoints (HPS.Point[] in_points)

Sets the points for this ShellKit.

Param in_points

The points for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the ShellKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.ShellKit SetTristrips (int[] in_tristrips)

Sets the triangle strips for this ShellKit.

Param in_tristrips

The tristrips list for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.ShellKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.ShellKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

HPS.ShellKit SetVertexIndexColorsByList (ulong[] in_vertices, float in_index)

Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByList (ulong[] in_vertices, float in_index, HPS.Shell.Component in_apply_to)

Sets a single material index on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_index

The material index to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByList (ulong[] in_vertices, float[] in_indices, HPS.Shell.Component in_apply_to)

Sets vertex material indices on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index and material index arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_indices

The material indices to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByRange (ulong in_start, float[] in_indices)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting colors.

Param in_indices

The material indices to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByRange (ulong in_start, float[] in_indices, HPS.Shell.Component in_apply_to)

Sets vertex material indices on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting colors.

Param in_indices

The material indices to set on the vertices for this ShellKit.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_index

The material index to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexIndexColorsByRange (ulong in_start, ulong in_count, float in_index, HPS.Shell.Component in_apply_to)

Sets a single material index on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_index

The material index to set on the vertices for this ShellKit.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector in_normal)

Sets a single normal on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the normal.

Param in_normal

The normal to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexNormalsByList (ulong[] in_vertices, HPS.Vector[] in_normals)

Sets vertex normals on a selection of arbitrary vertices. If the sizes of the vertex index and normal arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the normals.

Param in_normals

The normals to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexNormalsByRange (ulong in_start, HPS.Vector[] in_normals)

Sets vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start setting normals.

Param in_normals

The normals to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexNormalsByRange (ulong in_start, ulong in_count, HPS.Vector in_normal)

Sets a single normal on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the normal.

Param in_count

The number of vertices on which to set the normal.

Param in_normal

The normal to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexParametersByList (ulong[] in_vertices, float[] in_params)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters.

Param in_params

The texture parameters to set on the vertices for this ShellKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexParametersByList (ulong[] in_vertices, float[] in_params, ulong in_param_width)

Sets texture parameters on a selection of arbitrary vertices. If the sizes of the vertex index array and the texture parameter array (divided by the parameter width) are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the texture parameters.

Param in_params

The texture parameters to set on the vertices for this ShellKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexParametersByRange (ulong in_start, float[] in_params)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start setting texture parameters.

Param in_params

The texture parameters to set on the vertices for this ShellKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexParametersByRange (ulong in_start, float[] in_params, ulong in_param_width)

Sets texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start setting texture parameters.

Param in_params

The texture parameters to set on the vertices for this ShellKit. The size of the array should be divisible by the parameter width, if it is not, some parameters will get ignored.

Param in_param_width

The number of texture parameters per vertex. Defaults to 2.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor in_rgba_color, HPS.Shell.Component in_apply_to)

Sets a single RGBA color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByList (ulong[] in_vertices, HPS.RGBAColor[] in_rgba_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGBA colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and color array are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgba_colors

The RGBA colors to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting colors.

Param in_rgba_colors

The RGBA colors to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByRange (ulong in_start, HPS.RGBAColor[] in_rgba_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGBA colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting colors.

Param in_rgba_colors

The RGBA colors to set on the vertices for this ShellKit.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBAColorsByRange (ulong in_start, ulong in_count, HPS.RGBAColor in_rgba_color, HPS.Shell.Component in_apply_to)

Sets a single RGBA color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgba_color

The RGBA color to set on the vertices for this ShellKit.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor in_rgb_color, HPS.Shell.Component in_apply_to)

Sets a single RGB color on a selection of arbitrary vertices which apply to the specified shell component.

Param in_vertices

The indices of the vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByList (ulong[] in_vertices, HPS.RGBColor[] in_rgb_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGB colors on a selection of arbitrary vertices which apply to the specified shell component. If the sizes of the vertex index array and the color array different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the colors.

Param in_rgb_colors

The RGB colors to set on the vertices.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByRange (ulong in_start, HPS.RGBColor[] in_rgb_colors, HPS.Shell.Component in_apply_to)

Sets vertex RGB colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting colors.

Param in_rgb_colors

The RGB colors to set on the vertices for this ShellKit.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexRGBColorsByRange (ulong in_start, ulong in_count, HPS.RGBColor in_rgb_color, HPS.Shell.Component in_apply_to)

Sets a single RGB color on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the color.

Param in_count

The number of vertices on which to set the color.

Param in_rgb_color

The RGB color to set on the vertices for this ShellKit.

Param in_apply_to

The shell component the colors should apply to. Defaults to Shell.Component.Faces.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexVisibilitiesByList (ulong[] in_vertices, bool in_visibility)

Sets a single visibility on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to set the visibility.

Param in_visibility

The visibility to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexVisibilitiesByList (ulong[] in_vertices, bool[] in_visibilities)

Sets vertex visibilities on a selection of arbitrary vertices. If the sizes of the vertex index and visibility arrays are different, the smaller size will be used.

Param in_vertices

The indices of the vertices on which to set the visibilities.

Param in_visibilities

The visibilities to set on the vertices.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexVisibilitiesByRange (ulong in_start, bool[] in_visibilities)

Sets vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start setting visibilities.

Param in_visibilities

The visibilities to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit SetVertexVisibilitiesByRange (ulong in_start, ulong in_count, bool in_visibility)

Sets a single visibility on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start setting the visibility.

Param in_count

The number of vertices on which to set the visibility.

Param in_visibility

The visibility to set on the vertices for this ShellKit.

Return

A reference to this ShellKit.

ShellKit ()

The default constructor creates an empty ShellKit object.

ShellKit (HPS.ShellKit in_kit)

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

Param in_kit

The source ShellKit to copy.

void Show (out HPS.ShellKit out_kit)

Copies this ShellKit into the given ShellKit.

Param out_kit

The ShellKit to populate with the contents of this ShellKit.

bool ShowEdgeColors (out ulong[] out_vertices1, out ulong[] out_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param out_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed.

Param out_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is MaterialIndex.

Return

A reference to this ShellKit.

bool ShowEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Sets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_types

The types of edge colors for each edge.

Param out_rgb_colors

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.RGBColor.

Param out_indices

The colors that have been set on each edge. A given element of this array is valid only if the equivalent element of out_types is Material.Type.MaterialIndex.

Return

A reference to this ShellKit.

bool ShowEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2, out bool[] out_validities, out bool[] out_visibilities)

Shows all the edge visibilities on this ShellKit.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being shown. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param out_validities

The validities of the visibilities for each edge. If an edge has a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The edge visibilities for each edge. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowFaceColors (out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows all the face colors on this ShellKit.

Param out_types

The types of face colors for each face. If a face does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face had a face color set, false otherwise.

bool ShowFaceColorsByList (ulong[] in_faces, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a selection of arbitrary faces. The order of the values in the ouput arrays is the same as the input face index array, i.e., the values of out_types[i], out_rgb_colors[i], and out_indices[i], correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the colors.

Param out_types

The types of face colors for each face at the specified index. If a face at a specified index does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified face had a face color set, false otherwise.

bool ShowFaceColorsByRange (ulong in_start, ulong in_count, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out float[] out_indices)

Shows the face colors on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start showing colors.

Param in_count

The number of colors to show.

Param out_types

The types of face colors for each face in the specified range. If a face in the specified range does not have a face color set, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each face in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_indices

The material indices for each face in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any face in the specified range had a face color set, false otherwise.

bool ShowFacelist (out int[] out_facelist)

Show the face list for this ShellKit.

Param out_facelist

The face list for this ShellKit.

Return

true if face list was set, false otherwise.

bool ShowFaceNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the all face normals on this ShellKit.

Param out_validities

The validities of the normals for each face. If a face had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face had a face normal set, false otherwise.

bool ShowFaceNormalsByList (ulong[] in_faces, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face normal set, false otherwise.

bool ShowFaceNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the face normals on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start showing normals.

Param in_count

The number of normals to show.

Param out_validities

The validities of the normals for each face in the specified range. If a face in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The face normals for each face in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face normal set, false otherwise.

bool ShowFaceVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the face visibilities on this ShellKit.

Param out_validities

The validities of the visibilities for each face. If a face had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByList (ulong[] in_faces, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a selection of arbitrary faces. The order of the values in the output arrays is the same as the input face index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the face at index in_faces[i].

Param in_faces

The indices of the faces on which to show the normals.

Param out_validities

The validities of the normals for each face at the specified index. If a face at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified face had a face visibility set, false otherwise.

bool ShowFaceVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the face visibilities on a range of faces starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start showing visibilities.

Param in_count

The number of visibilities to show.

Param out_validities

The validities of the visibilities for each face in the specified range. If a face in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The face visibilities for each face in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any face in the specified range had a face visibility set, false otherwise.

bool ShowMaterialMapping (out HPS.MaterialMappingKit out_kit)

Shows the material mappings set on this ShellKit. These are the “global” material settings, not the per-vertex and per-face material settings.

Param out_kit

The material mappings set on this ShellKit.

Return

true if material mappings were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Show the points for this ShellKit.

Param out_points

The points for this ShellKit.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this ShellKit by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this ShellKit.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this ShellKit by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this ShellKit.

Return

true if all requested points were set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowTristrips (out int[] out_tristrips)

Show the tristrips list for this ShellKit. A tristrip is defined internally as three points which form a triangle, followed by another point for each additional triangle in the strip. The points that make up a shell may be divided into multiple tristrips. For example, if a shell contains two tristrips - one with 3 triangles and one with 4 - this function will return the data in the following format: [5, a, b, c, d, e, 6, f, g, h, i, j, k] where the numbers indicate how many of the subsequent array entries make up the current tristrip, and the letters are indices into the shell’s array of points.

Param out_tristrips

The face list for this ShellKit.

Return

true if tristrips list was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

bool ShowVertexColors (HPS.Shell.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows all the vertex colors on the specified shell component.

Param in_apply_to

The shell component the colors should apply to.

Param out_types

The types of vertex colors for each vertex. If a vertex does not have a vertex color set for the specified shell component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex colors were shown, false otherwise.

bool ShowVertexColorsByList (ulong[] in_vertices, HPS.Shell.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a selection of arbitrary vertices which apply to the specified shell component. The order of the values in the ouput arrays is the same as the input vertex index array, i.e., the values of out_types[i], out_rgb_colors[i], out_rgba_colors[i], and out_indices[i], correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the colors.

Param in_apply_to

The shell component the colors should apply to.

Param out_types

The types of vertex colors for each vertex at the specified index. If a vertex at a specified index does not have a vertex color set for the specified component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex at the specified index. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex at the specified index. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex at the specified index. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any specified vertex had a vertex color on the specified component set, false otherwise.

bool ShowVertexColorsByRange (ulong in_start, ulong in_count, HPS.Shell.Component in_apply_to, out HPS.Material.Type[] out_types, out HPS.RGBColor[] out_rgb_colors, out HPS.RGBAColor[] out_rgba_colors, out float[] out_indices)

Shows the vertex colors on a range of vertices starting at the specified offset which apply to the specified shell component.

Param in_start

The offset into the vertices for this ShellKit at which to start showing colors.

Param in_count

The number of colors to show.

Param in_apply_to

The shell component the colors should apply to.

Param out_types

The types of vertex colors for each vertex in the specified range. If a vertex in the specified range does not have a vertex color set for the specified shell component, the entry in this array will be Material.Type.None.

Param out_rgb_colors

The RGB colors for each vertex in the specified range. out_rgb_colors[i] is only valid if out_types[i] is Material.Type.RGBColor.

Param out_rgba_colors

The RGBA colors for each vertex in the specified range. out_rgba_colors[i] is only valid if out_types[i] is Material.Type.RGBAColor.

Param out_indices

The material indices for each vertex in the specified range. The out_indices[i] is only valid if out_types[i] is Material.Type.MaterialIndex.

Return

true if any vertex in the specified range had a vertex color on the specified component set, false otherwise.

bool ShowVertexNormals (out bool[] out_validities, out HPS.Vector[] out_normals)

Shows all the vertex normals on this ShellKit.

Param out_validities

The validities of the normals for each vertex. If a vertex had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex normals were shown, false otherwise.

bool ShowVertexNormalsByList (ulong[] in_vertices, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_normals[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex at the specified index. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex normal set, false otherwise.

bool ShowVertexNormalsByRange (ulong in_start, ulong in_count, out bool[] out_validities, out HPS.Vector[] out_normals)

Shows the vertex normals on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start showing normals.

Param in_count

The number of normals to show.

Param out_validities

The validities of the normals for each vertex in the specified range. If a vertex in the specified range had a normal set on it, the entry in this array will be true, otherwise it will be false.

Param out_normals

The vertex normals for each vertex in the specified range. out_normals[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex normal set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params)

Shows the texture parameters on all of the vertices in this ShellKit. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParameters (out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on all of the vertices in this ShellKit.

Param out_validities

The validities of the texture parameters for each vertex. If a vertex had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a selection of arbitrary vertices. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_vertices.size(). The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByList (ulong[] in_vertices, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a selection of arbitrary vertices. The order of the output arrays is the same as the input vertex index array, i.e., out_validities[i] and (out_params[i],…,out_params[i+param_width-1]) correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex at the specified index. If a vertex at a specified index had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex at the specified index. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any specified vertex had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params)

Shows the texture parameters on a range of vertices starting at the specified offset. For this particular show function, the parameter width is returned implicitly and could be determined by out_params.size()/in_count.

Param in_start

The offset into the vertices for this ShellKit at which to start showing texture parameters.

Param in_count

The number of vertices for which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexParametersByRange (ulong in_start, ulong in_count, out bool[] out_validities, out float[] out_params, out ulong out_param_width)

Shows the texture parameters on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start showing texture parameters.

Param in_count

The number of vertices for which to show the texture parameters.

Param out_validities

The validities of the texture parameters for each vertex in the specified range. If a vertex in the specified range had a texture parameter set on it, the entry in this array will be true, otherwise it will be false.

Param out_params

The texture parameters for each vertex in the specified range. (out_params[i],…,out_params[i+param_width-1]) are only valid if out_validities[i] is true.

Param out_param_width

The number of texture parameters per vertex.

Return

true if any vertex in the specified range had a texture parameter set, false otherwise.

bool ShowVertexVisibilities (out bool[] out_validities, out bool[] out_visibilities)

Shows all the vertex visibilities on this ShellKit

Param out_validities

The validities of the visibilities for each vertex. If a vertex had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByList (ulong[] in_vertices, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a selection of arbitrary vertices. The order of the values in the output arrays is the same as the input vertex index array, i.e., the values of out_validities[i] and out_visibilities[i] correspond to the vertex at index in_vertices[i].

Param in_vertices

The indices of the vertices on which to show the normals.

Param out_validities

The validities of the normals for each vertex at the specified index. If a vertex at a specified index had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex at the specified index. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any specified vertex had a vertex visibility set, false otherwise.

bool ShowVertexVisibilitiesByRange (ulong in_start, ulong in_count, out bool[] out_validities, out bool[] out_visibilities)

Shows the vertex visibilities on a range of vertices starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start showing visibilities.

Param in_count

The number of visibilities to show.

Param out_validities

The validities of the visibilities for each vertex in the specified range. If a vertex in the specified range had a visibility set on it, the entry in this array will be true, otherwise it will be false.

Param out_visibilities

The vertex visibilities for each vertex in the specified range. out_visibilities[i] is only valid if out_validities[i] is true.

Return

true if any vertex in the specified range had a vertex visibility set, false otherwise.

HPS.ShellKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.ShellKit UnsetEdgeColors ()

Unsets edge colors on all edges.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetEdgeColorsByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge colors on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being changed. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetEdgeEverything ()

Removes all edge settings (edge colors and edge visibilities) from this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetEdgeVisibilities ()

Removes all edge visibility settings.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetEdgeVisibilitiesByList (ulong[] in_vertices1, ulong[] in_vertices2)

Unsets edge visibilities on a selection of arbitrary edges.

Param in_vertices1

The vertex indices that correspond to the start position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Param in_vertices2

The vertex indices that correspond to the end position of each edge for which the visibilities are being unset. Each index in the array must be such that in_vertices[i]<point_count for setting to succeed.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetEverything ()

Removes all settings from this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceColors ()

Removes all face colors (RGB colors or material indices).

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceColorsByList (ulong[] in_faces)

Removes the face colors (RGB colors or material indices) on a selection of arbitrary vertices.

Param in_faces

The indices of the faces on which to remove the colors.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of face colors (RGB colors or material indices) starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start removing colors.

Param in_count

The number of face colors to remove for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceEverything ()

Removes all face settings (face colors, face normals, and face visibilities) from this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFacelist ()

Removes the face list for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceNormals ()

Removes all face normals.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceNormalsByList (ulong[] in_vertices)

Removes the face normals on a selection of arbitrary faces.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of face normals starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start removing normals.

Param in_count

The number of face normals to remove for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceVisibilities ()

Removes all face visibilities.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetFaceVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of face visibilities starting at the specified offset.

Param in_start

The offset into the faces for this ShellKit at which to start removing visibilities.

Param in_count

The number of face visibilities to remove for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetMaterialMapping ()

Removes all material mappings on this ShellKit. This removes the “global” material settings and does not affect per-vertex or per-face materials.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetPoints ()

Removes the points for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.ShellKit UnsetTristrips ()

Removes the tristrips list for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.ShellKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

HPS.ShellKit UnsetVertexColors ()

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for all shell components.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexColors (HPS.Shell.Component in_apply_to)

Removes all vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component.

Param in_apply_to

The shell component for which to remove the colors.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexColorsByList (ulong[] in_vertices)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for all shell components on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexColorsByList (ulong[] in_vertices, HPS.Shell.Component in_apply_to)

Removes the vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the colors.

Param in_apply_to

The shell component for which to remove the colors.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexColorsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for all shell components starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start removing colors.

Param in_count

The number of vertex colors to remove for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexColorsByRange (ulong in_start, ulong in_count, HPS.Shell.Component in_apply_to)

Removes the specified range of vertex colors (RGB colors, RGBA colors, or material indices) for the specified shell component starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start removing colors.

Param in_count

The number of vertex colors to remove for this ShellKit.

Param in_apply_to

The shell component for which to remove the colors.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexEverything ()

Removes all vertex settings (vertex colors, vertex normals, texture parameters, and vertex visibilities) from this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexNormals ()

Removes all vertex normals.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexNormalsByList (ulong[] in_vertices)

Removes the vertex normals on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the normals.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexNormalsByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex normals starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start removing normals.

Param in_count

The number of vertex normals to remove for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexParameters ()

Removes all texture parameters.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexParametersByList (ulong[] in_vertices)

Removes the texture parameters on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the texture parameters.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexParametersByRange (ulong in_start, ulong in_count)

Removes the specified range of texture parameters starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start removing texture parameters.

Param in_count

The number of texture parameters to remove for this ShellKit.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexVisibilities ()

Removes all vertex visibilities.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexVisibilitiesByList (ulong[] in_vertices)

Removes the vertex visibilities on a selection of arbitrary vertices.

Param in_vertices

The indices of the vertices on which to remove the visibilities.

Return

A reference to this ShellKit.

HPS.ShellKit UnsetVertexVisibilitiesByRange (ulong in_start, ulong in_count)

Removes the specified range of vertex visibilities starting at the specified offset.

Param in_start

The offset into the vertices for this ShellKit at which to start removing visibilities.

Param in_count

The number of vertex visibilities to remove for this ShellKit.

Return

A reference to this ShellKit.

class ShellOptimizationOptionsKit : public HPS.Kit

The ShellOptimizationOptionsKit class is a user space object. It is used for setting options for a shell optimization operation. Calling HPS.ShellOptimizationOptionsKit.GetDefault() will return an options kit with values found in this table.

Public Functions

void Consume (HPS.ShellOptimizationOptionsKit in_kit)

Copies the source ShellOptimizationOptionsKit into this ShellOptimizationOptionsKit and resets the source kit.

Param in_kit

The source ShellOptimizationOptionsKit to consume.

override bool Empty ()

Indicates whether this ShellOptimizationOptionsKit has any values set on it.

Return

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

bool Equals (HPS.ShellOptimizationOptionsKit in_kit)

Check if the source ShellOptimizationOptionsKit is equivalent to this ShellOptimizationOptionsKit.

Param in_kit

The source ShellOptimizationOptionsKit to compare to this ShellOptimizationOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ShellOptimizationOptionsKit into this ShellOptimizationOptionsKit.

Param in_kit

The source ShellOptimizationOptionsKit to copy.

HPS.ShellOptimizationOptionsKit SetHandednessOptimization (HPS.Shell.HandednessOptimization in_handedness_option)

Sets whether the optimization procedure should impact the shell’s face handedness, and if so, in which way.

Param in_handedness_option

Whether the faces’ handedness should be fixed or reversed.

Return

A reference to this object.

HPS.ShellOptimizationOptionsKit SetNormalTolerance (float in_normal_tolerance)

Sets the tolerance to use when deciding if two normals can be merged.

Param in_normal_tolerance

The tolerance to use during optimization, specified in degrees.

Return

A reference to this object.

HPS.ShellOptimizationOptionsKit SetOrphanElimination (bool in_orphan_elimination)

Sets whether orphan elimination can be used during optimization. Orphan elimination removes points that are not referenced by any face.

Param in_orphan_elimination

Whether orphaned points can be eliminated during optimization.

Return

A reference to this object.

HPS.ShellOptimizationOptionsKit SetTolerance (float in_tolerance, HPS.Shell.ToleranceUnits in_tolerance_units)

Sets the tolerance to use when deciding if two vertices can be merged.

Param in_tolerance

The tolerance to use during optimization.

Param in_tolerance_units

The units in_tolerance is specified in.

Return

A reference to this object.

ShellOptimizationOptionsKit ()

The default constructor creates an empty ShellOptimizationOptionsKit object.

ShellOptimizationOptionsKit (HPS.ShellOptimizationOptionsKit in_kit)

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

Param in_kit

The source ShellOptimizationOptionsKit to copy.

void Show (out HPS.ShellOptimizationOptionsKit out_kit)

Copies this ShellOptimizationOptionsKit into the given ShellOptimizationOptionsKit.

Param out_kit

The ShellOptimizationOptionsKit to populate with the contents of this ShellOptimizationOptionsKit.

bool ShowHandednessOptimization (out HPS.Shell.HandednessOptimization out_handedness_option)

Shows the value of the handedness options for this ShellOptimizationOptionsKit.

Param out_handedness_option

The handedness option value for this ShellOptimizationOptionsKit.

Return

true if fix handedness was set, false otherwise.

bool ShowNormalTolerance (out float out_normal_tolerance)

Shows the value of the normal tolerance for this ShellOptimizationOptionsKit.

Param out_normal_tolerance

The normal tolerance for this ShellOptimizationOptionsKit.

Return

true if normal tolerance was set, false otherwise.

bool ShowOrphanElimination (out bool out_orphan_elimination)

Shows the value of orphan elimination for this ShellOptimizationOptionsKit.

Param out_orphan_elimination

The orphan elimination value for this ShellOptimizationOptionsKit.

Return

true if orphan elimination was set, false otherwise.

bool ShowTolerance (out float out_tolerance, out HPS.Shell.ToleranceUnits out_tolerance_units)

Shows the value of the tolerance and its units for this ShellOptimizationOptionsKit.

Param out_tolerance

The tolerance for this ShellOptimizationOptionsKit.

Param out_tolerance_units

The units out_tolerance is specified in.

Return

true if tolerance was set, false otherwise.

HPS.ShellOptimizationOptionsKit UnsetEverything ()

Removes all settings from this ShellOptimizationOptionsKit.

Return

A reference to this ShellOptimizationOptionsKit.

HPS.ShellOptimizationOptionsKit UnsetHandednessOptimization ()

Removes the fix handedness value for this ShellOptimizationOptionsKit.

Return

A reference to this object.

HPS.ShellOptimizationOptionsKit UnsetNormalTolerance ()

Removes the normal tolerance value for this ShellOptimizationOptionsKit.

Return

A reference to this object.

HPS.ShellOptimizationOptionsKit UnsetOrphanElimination ()

Removes the orphan elimination value for this ShellOptimizationOptionsKit.

Return

A reference to this object.

HPS.ShellOptimizationOptionsKit UnsetTolerance ()

Removes the tolerance value for this ShellOptimizationOptionsKit.

Return

A reference to this object.

Public Static Functions

HPS.ShellOptimizationOptionsKit GetDefault ()

Creates a ShellOptimizationOptionsKit 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 ShellOptimizationOptionsKit with the default settings.

class ShellRelationArray : public HPS::InternalHPSBlittableArray<HPS.Shell.Relation>
class ShellRelationOptionsKit : public HPS.Kit

The HPS.ShellRelationOptionsKit class is a user space object. It is used for setting options for a shell relation operation. Calling HPS.ShellRelationOptionsKit.GetDefault() will return an options kit with values found in this table.

Public Functions

void Consume (HPS.ShellRelationOptionsKit in_kit)

Copies the source ShellRelationOptionsKit into this ShellRelationOptionsKit and resets the source kit.

Param in_kit

The source ShellRelationOptionsKit to consume.

override bool Empty ()

Indicates whether this ShellRelationOptionsKit has any values set on it.

Return

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

bool Equals (HPS.ShellRelationOptionsKit in_kit)

Check if the source ShellRelationOptionsKit is equivalent to this ShellRelationOptionsKit.

Param in_kit

The source ShellRelationOptionsKit to compare to this ShellRelationOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ShellRelationOptionsKit into this ShellRelationOptionsKit.

Param in_kit

The source ShellRelationOptionsKit to copy.

HPS.ShellRelationOptionsKit SetNearestFaceCalculation (bool in_state)

Sets whether the nearest face should be calculated in addition to the primary relation test.

Param in_state

Whether to perform nearest face calculation.

Return

A reference to this object.

HPS.ShellRelationOptionsKit SetTest (HPS.Shell.RelationTest in_test)

Sets the type of relation test that should be performed. This determines what kind of information is available from the results.

Param in_test

The relation test to be performed.

Return

A reference to this object.

HPS.ShellRelationOptionsKit SetTolerance (float in_tolerance)

Sets the tolerance within which points will be considered on the shell.

Param in_tolerance

The tolerance, in world space units, to use for this relation test.

Return

A reference to this object.

HPS.ShellRelationOptionsKit SetTreeContext (HPS.TreeContext in_tree_context)

Sets a TreeContext to be used for this relation test. If many relation or selections are going to be computed without modifying the segment tree, using the same tree context for all of them can be a significant optimization. If a TreeContext is not specified, a new one is computed each time.

Param in_tree_context

The tree context to use for this relation test.

Return

A reference to this object.

ShellRelationOptionsKit ()

The default constructor creates an empty ShellRelationOptionsKit object.

ShellRelationOptionsKit (HPS.ShellRelationOptionsKit in_kit)

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

Param in_kit

The source ShellRelationOptionsKit to copy.

void Show (out HPS.ShellRelationOptionsKit out_kit)

Copies this ShellRelationOptionsKit into the given ShellRelationOptionsKit.

Param out_kit

The ShellRelationOptionsKit to populate with the contents of this ShellRelationOptionsKit.

bool ShowNearestFaceCalculation (out bool out_state)

Shows the nearest face calculation setting for this ShellRelationOptionsKit.

Param out_state

Whether to perform nearest face calculation.

Return

true if nearest face calculation was specified, false otherwise.

bool ShowTest (out HPS.Shell.RelationTest out_test)

Shows the relation test for this ShellRelationOptionsKit.

Param out_test

The relation test to be performed.

Return

true if test was set, false otherwise.

bool ShowTolerance (out float out_tolerance)

Shows the value of the tolerance for this ShellRelationOptionsKit.

Param out_tolerance

The tolerance, in world units, for this ShellOptimizationOptionsKit.

Return

true if tolerance was set, false otherwise.

bool ShowTreeContext (out HPS.TreeContext out_tree_context)

Shows the tree context for this ShellRelationOptionsKit.

Param out_tree_context

The tree context to use for this relation test.

Return

true if a tree context was set, false otherwise.

HPS.ShellRelationOptionsKit UnsetEverything ()

Removes all settings from this ShellRelationOptionsKit.

Return

A reference to this object.

HPS.ShellRelationOptionsKit UnsetNearestFaceCalculation ()

Removes the nearest face calculation setting from this ShellRelationOptionsKit.

Return

A reference to this object.

HPS.ShellRelationOptionsKit UnsetTest ()

Removes the test value from this ShellRelationOptionsKit.

Return

A reference to this object.

HPS.ShellRelationOptionsKit UnsetTolerance ()

Removes the tolerance value from this ShellRelationOptionsKit.

Return

A reference to this object.

HPS.ShellRelationOptionsKit UnsetTreeContext ()

Removes the tree context from this ShellRelationOptionsKit.

Return

A reference to this object.

Public Static Functions

HPS.ShellRelationOptionsKit GetDefault ()

Creates a ShellRelationOptionsKit 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 ShellRelationOptionsKit with the default settings.

class ShellRelationResultsKit : public HPS.Kit

The ShellKit class is a user space object. It contains results from a shell relation operation.

Public Functions

void Consume (HPS.ShellRelationResultsKit in_kit)

Copies the source ShellRelationResultsKit into this ShellRelationResultsKit and resets the source kit.

Param in_kit

The source ShellRelationResultsKit to consume.

override bool Empty ()

Indicates whether this ShellRelationResultsKit has any values set on it.

Return

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

bool Equals (HPS.ShellRelationResultsKit in_kit)

Check if the source ShellRelationResultsKit is equivalent to this ShellRelationResultsKit.

Param in_kit

The source ShellRelationResultsKit to compare to this ShellRelationResultsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source ShellRelationResultsKit into this ShellRelationResultsKit.

Param in_kit

The source ShellRelationResultsKit to copy.

ShellRelationResultsKit ()

The default constructor creates an empty ShellRelationResultsKit object.

ShellRelationResultsKit (HPS.ShellRelationResultsKit in_kit)

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

Param in_kit

The source ShellRelationResultsKit to copy.

void Show (out HPS.ShellRelationResultsKit out_kit)

Copies this ShellRelationResultsKit into the given ShellRelationResultsKit.

Param out_kit

The ShellRelationResultsKit to populate with the contents of this ShellRelationResultsKit.

bool ShowDistances (out float[] out_distances)

Shows the smallest distance of each point in a shell relation computation to the target shell.

Param out_distances

The smallest distances, one per point, of points to a target shell.

Return

true if distances were requested and computed, false otherwise.

bool ShowNearestFaces (out ulong[] out_faces)

Shows the nearest face in the target shell for each of a set of points.

Param out_faces

The nearest faces, one per point, in the target shell to a set of points.

Return

true if nearest faces were requested and computed, false otherwise.

bool ShowRelations (out HPS.Shell.Relation[] out_results)

Shows the relation of each point in a shell relation computation to the target shell.

Param out_results

The relations, one per point, of points to a target shell.

Return

true if any relations were requested and computed, false otherwise.

class ShowKeyboardEvent : public HPS.Event

The ShowKeyboardEvent class is the event that can be used on mobile devices to request that the software keyboard be shown

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this ShowKeyboardEvent.

Return

A copy of this ShowKeyboardEvent.

ShowKeyboardEvent ()

The default constructor creates a ShowKeyboardEvent.

ShowKeyboardEvent (HPS.Event in_event)

This constructor converts an EventObject to an ShowKeyboardEvent object.

Param in_event

The EventObject to be converted.

struct SimpleCuboid
struct SimpleSphere
class SizeTArray : public HPS::InternalHPSBlittableArray<ulong>
class SolidLinePatternElement : public HPS.LinePatternElement

The SolidLinePatternElement class is a user space object. It is used for specifying solid elements within a line pattern.

Public Functions

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 SetColor (HPS.RGBAColor in_color)

Sets the color for this SolidLinePatternElement. If this is not set, this SolidLinePatternElement will take the effective line (or edge) color in the segment where the line (or edge) pattern is used.

Param in_color

The color for this SolidLinePatternElement.

void SetMaterialByIndex (float in_material_index)

Sets the color (by material index) for this SolidLinePatternElement. If this is not set, this SolidLinePatternElement will take the effective line (or edge) color in the segment where the line (or edge) pattern is used.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_color, out float out_index)

Shows the color for this SolidLinePatternElement.

Param out_type

Indicates which of the following arguments is valid.

Param out_color

The color of this SolidLinePatternElement. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for this SolidLinePatternElement. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

SolidLinePatternElement ()

The default constructor creates an empty SolidLinePatternElement object.

SolidLinePatternElement (float in_size, HPS.LinePattern.SizeUnits in_units)

This constructor creates a SolidLinePatternElement with a given size.

Param in_size

The length of the SolidLinePatternElement.

Param in_units

The units for the length of the SolidLinePatternElement.

SolidLinePatternElement (HPS.LinePatternElement in_that)

This constructor creates a SolidLinePatternElement object that contains the same settings as the source LinePatternElement. The copy will only be successful if the source line pattern element is really an upcast of a solid line pattern element. Otherwise the copy will fail and the resulting SolidLinePatternElement will be invalid.

Param in_that

The source LinePatternElement to copy.

SolidLinePatternElement (HPS.SolidLinePatternElement in_that)

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

Param in_that

The source SolidLinePatternElement to copy.

class SphereAttributeControl : public HPS.Control

The HPS.SphereAttributeControl class is a smart pointer that is tied to a database object. This control gives you access to the tessellation value for spheres. This table lists default values for the various segment attributes accessible from HPS.SphereAttributeControl.

Public Functions

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.

HPS.SphereAttributeControl SetTessellation (ulong in_facets)

Sets the number of faces that should be generated around the equator of spheres.

See

Sphere tessellation default value

Param in_facets

the number of faces that should be generated around the equator of spheres.

Return

A reference to this object.

bool ShowTessellation (out ulong out_facets)

Shows the number of faces that should be generated around the equator of spheres.

Param out_facets

The number of faces that should be generated around the equator of spheres.

Return

true if the setting is valid, false otherwise.

SphereAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

SphereAttributeControl (HPS.SphereAttributeControl in_that)

Initializes a control tied to the same object as in_that.

HPS.SphereAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by SphereAttributeKit.GetDefault().

Return

A reference to this object.

HPS.SphereAttributeControl UnsetTessellation ()

Removes the sphere tessellation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SphereAttributeKit.GetDefault().

Return

A reference to this object.

class SphereAttributeKit : public HPS.Kit

The HPS.SphereAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.SphereAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.SphereAttributeKit in_kit)

Check if the source SphereAttributeKit is equivalent to this object.

Param in_kit

The source SphereAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source SphereAttributeKit into this object.

Param in_kit

The source SphereAttributeKit to copy.

HPS.SphereAttributeKit SetTessellation (ulong in_facets)

Sets the number of faces that should be generated around the equator of spheres.

Param in_facets

the number of faces that should be generated around the equator of spheres.

Return

A reference to this object.

void Show (out HPS.SphereAttributeKit out_kit)

Copies all settings from this SphereAttributeKit into the given SphereAttributeKit.

Param out_kit

The SphereAttributeKit to populate with the contents of this object.

bool ShowTessellation (out ulong out_facets)

Shows the number of faces that should be generated around the equator of spheres.

Param out_facets

The number of faces that should be generated around the equator of spheres.

Return

true if the setting is valid, false otherwise.

SphereAttributeKit ()

Initializes an empty kit.

SphereAttributeKit (HPS.SphereAttributeKit in_kit)

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

Param in_kit

The source object to copy.

HPS.SphereAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.SphereAttributeKit UnsetTessellation ()

Removes the sphere tessellation setting.

Return

A reference to this object.

Public Static Functions

HPS.SphereAttributeKit GetDefault ()

Creates a SphereAttributeKit 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 SphereAttributeKit with the default settings.

class SphereGlyphElement : public HPS.GlyphElement

The SphereGlyphElement class is a user space object. It is used to add ellipse elements to glyphs.

Public Functions

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.

SphereGlyphElement ()

The default constructor creates an empty SphereGlyphElement object.

SphereGlyphElement (HPS.GlyphElement in_that)

This constructor creates a SphereGlyphElement object that contains the same settings as the source GlyphElement. The copy will only be successful if the source glyph element is really an upcast of an ellipse glyph element. Otherwise the copy will fail and the resulting SphereGlyphElement will be invalid.

Param in_that

The source GlyphElement to copy.

SphereGlyphElement (HPS.SphereGlyphElement in_that)

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

Param in_that

The source SphereGlyphElement to copy.

class SphereKey : public HPS.GeometryKey

The SphereKey class is a smart pointer to a database object. It is a handle to a sphere inserted via SegmentKey.InsertSphere.

Public Functions

void Consume (HPS.SphereKit in_kit)

Completely replaces all settings on this SphereKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this SphereKey.

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

Replace those settings on this SphereKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this SphereKey.

HPS.SphereKey SetBasis (HPS.Vector in_vertical, HPS.Vector in_horizontal)

Sets the basis for the SphereKey.

Param in_vertical

The vector to use as the vertical axis for the SphereKey.

Param in_horizontal

The vector to use as the horizontal axis for the SphereKey.

Return

A reference to this SphereKey.

HPS.SphereKey SetCenter (HPS.Point in_center)

Sets the center point for the SphereKey.

Param in_center

The center point for the SphereKey.

Return

A reference to this SphereKey.

HPS.SphereKey SetRadius (float in_radius)

Sets the radius for the SphereKey.

Param in_radius

The radius for the SphereKey.

Return

A reference to this SphereKey.

void Show (out HPS.SphereKit out_kit)

Copy the contents of this SphereKey into the specified kit.

Param out_kit

The kit to populate with the contents of this SphereKey.

bool ShowBasis (out HPS.Vector out_vertical, out HPS.Vector out_horizontal)

Shows the basis for the SphereKey.

Param out_vertical

The vector to use as the vertical axis for the SphereKey.

Param out_horizontal

The vector to use as the horizontal axis for the SphereKey.

Return

true if a basis was set, false otherwise.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for this SphereKey.

Param out_center

The center point for the SphereKey.

Return

true if a center point was set, false otherwise.

bool ShowRadius (out float out_radius)

Shows the radius for the SphereKey.

Param out_radius

The radius for the SphereKey.

Return

true if a radius was set, false otherwise.

SphereKey ()

The default constructor creates an uninitialized SphereKey object. The Type() function will return Type.None.

SphereKey (HPS.Key in_that)

This constructor creates a SphereKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Sphere key. Otherwise the copy will fail and the resulting SphereKey will be invalid.

SphereKey (HPS.SphereKey in_that)

The copy constructor creates a SphereKey object that shares the underlying smart-pointer of the source SphereKey.

Param in_that

The source SphereKey to copy.

class SphereKit : public HPS.Kit

The SphereKit class is a user space object. It is a kit analog to a SphereKey.

Public Functions

void Consume (HPS.SphereKit in_kit)

Copies the source SphereKit into this SphereKit and resets the source kit.

Param in_kit

The source SphereKit to consume.

override bool Empty ()

Indicates whether this SphereKit has any values set on it.

Return

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

bool Equals (HPS.SphereKit in_kit)

Check if the source SphereKit is equivalent to this SphereKit.

Param in_kit

The source SphereKit to compare to this SphereKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source SphereKit into this SphereKit.

Param in_kit

The source SphereKit to copy.

HPS.SphereKit SetBasis (HPS.Vector in_vertical, HPS.Vector in_horizontal)

Sets the basis for the SphereKit.

Param in_vertical

The vector to use as the vertical axis for the SphereKit.

Param in_horizontal

The vector to use as the horizontal axis for the SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit SetCenter (HPS.Point in_center)

Sets the center point for the SphereKit.

Param in_center

The center point for the SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the SphereKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.SphereKit SetRadius (float in_radius)

Sets the radius for the SphereKit.

Param in_radius

The radius for the SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.SphereKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.SphereKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.SphereKit out_kit)

Copies this SphereKit into the given SphereKit.

Param out_kit

The SphereKit to populate with the contents of this SphereKit.

bool ShowBasis (out HPS.Vector out_vertical, out HPS.Vector out_horizontal)

Shows the basis for the SphereKit.

Param out_vertical

The vector to use as the vertical axis for the SphereKit.

Param out_horizontal

The vector to use as the horizontal axis for the SphereKit.

Return

true if a basis was set, false otherwise.

bool ShowCenter (out HPS.Point out_center)

Shows the center point for this SphereKit.

Param out_center

The center point for the SphereKit.

Return

true if a center point was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowRadius (out float out_radius)

Shows the radius for the SphereKit.

Param out_radius

The radius for the SphereKit.

Return

true if a radius was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

SphereKit ()

The default constructor creates an empty SphereKit object.

SphereKit (HPS.SphereKit in_kit)

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

Param in_kit

The source SphereKit to copy.

HPS.SphereKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.SphereKit UnsetBasis ()

Removes the basis for this SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit UnsetCenter ()

Removes the center point for this SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit UnsetEverything ()

Removes all settings from the SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.SphereKit UnsetRadius ()

Removes the radius for this SphereKit.

Return

A reference to this SphereKit.

HPS.SphereKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.SphereKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class Spotlight : public IDisposable

The Spotlight class is a concept class for spotlight-related enum classes.

Public Types

enum InnerConeUnits

Enumerates the units used when specifying an inner-cone size for a spotlight.

Values:

Degrees
FieldRadius
Percent
enum OuterConeUnits

Enumerates the units used when specifying an outer-cone size for a spotlight.

Values:

Degrees
FieldRadius
class SpotlightKey : public HPS.GeometryKey

The SpotlightKey class is a smart pointer to a database object. It is a handle to a spotlight inserted via SegmentKey.InsertSpotlight.

Public Functions

void Consume (HPS.SpotlightKit in_kit)

Completely replaces all settings on this SpotlightKey with those set on the specified kit and resets the kit.InfiniteLineKey

Param in_kit

The kit from which to get the settings to replace on this SpotlightKey.

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

Replace those settings on this SpotlightKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this SpotlightKey.

HPS.SpotlightKey SetCameraRelative (bool in_state)

Sets whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.

See

SetPosition

See

SetTarget

Param in_state

Whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetColor (HPS.RGBAColor in_rgba_color)

Sets the RGBA color to use for this SpotlightKey.

Param in_rgba_color

The RGBA color to use for this SpotlightKey.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetColorByIndex (float in_index)

Sets the color index to use for this SpotlightKey.

Param in_index

The color index to use for this SpotlightKey.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetConcentration (float in_concentration)

Sets the concentration for this SpotlightKey. The concentration defines the rate at which light intensity decreases with increasing angular distance from the light direction vector. This effect works in addition to the decrease that occurs between the inner and outer cones.

Param in_concentration

The concentration for the SpotlightKey. This value must be non-negative. A value of 0.0f defines no intensity decrease (besides that between the inner and outer cone), and larger values will concentrate intensity closer to the light direction vector.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetInnerCone (float in_size)

Sets the size of the inner cone for this SpotlightKey. The inner cone defines the conic region inside the conic region defined by the outer cone at which the spotlight intensity will decrease linearly to zero at the outer cone’s edge. As such, the size of the inner cone should be no larger than the outer cone.

Param in_size

The size of the inner cone for this SpotlightKey. The interpretation of the value and its valid range depends on the units argument.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetInnerCone (float in_size, HPS.Spotlight.InnerConeUnits in_units)

Sets the size of the inner cone for this SpotlightKey. The inner cone defines the conic region inside the conic region defined by the outer cone at which the spotlight intensity will decrease linearly to zero at the outer cone’s edge. As such, the size of the inner cone should be no larger than the outer cone.

Param in_size

The size of the inner cone for this SpotlightKey. The interpretation of the value and its valid range depends on the units argument.

Param in_units

The units for the size of the inner cone for this SpotlightKey. Defaults to Spotlight.InnerConeUnits.Degrees.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetOuterCone (float in_size)

Sets the size of the outer cone for this SpotlightKey. The outer cone defines the conic region inside of which surfaces will be illuminated by this spotlight. Any surface outside this conic region will not be illuminated by this spotlight.

Param in_size

The size of the outer cone for this SpotlightKey. The interpretation of the value and its valid range depends on the units argument.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetOuterCone (float in_size, HPS.Spotlight.OuterConeUnits in_units)

Sets the size of the outer cone for this SpotlightKey. The outer cone defines the conic region inside of which surfaces will be illuminated by this spotlight. Any surface outside this conic region will not be illuminated by this spotlight.

Param in_size

The size of the outer cone for this SpotlightKey. The interpretation of the value and its valid range depends on the units argument.

Param in_units

The units for the size of the outer cone for this SpotlightKey. Defaults to Spotlight.OuterConeUnits.Degrees.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetPosition (HPS.Point in_position)

Sets the position of the light source for this SpotlightKey.

See

SetCameraRelative

Param in_position

The position of the light source for this SpotlightKey. The point will either be treated as being in object space or in camera-relative units depending on the setting passed to SetCameraRelative.

Return

A reference to this SpotlightKey.

HPS.SpotlightKey SetTarget (HPS.Point in_target)

Sets the target coordinate towards which the light source points for this SpotlightKey.

See

SetCameraRelative

Param in_target

The target coordinate towards which the light source points for this SpotlightKey. The point will either be treated as being in object space or in camera-relative units depending on the setting passed to SetCameraRelative.

Return

A reference to this SpotlightKey.

void Show (out HPS.SpotlightKit out_kit)

Copy the contents of this SpotlightKey into the specified kit.

Param out_kit

The kit to populate with the contents of this SpotlightKey.

bool ShowCameraRelative (out bool out_state)

Shows whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.

Param out_state

Whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.

Return

true if a camera-relative setting was set, false otherwise.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_index)

Shows the color for this SpotlightKey.

Param out_type

The type of color for the spotlight.

Param out_rgba_color

The RGBA color for the spotlight. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for the spotlight. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

bool ShowConcentration (out float out_concentration)

Shows the concentration for this SpotlightKey.

Param out_concentration

The concentration for this SpotlightKey.

Return

true if a concentration was set, false otherwise.

bool ShowInnerCone (out float out_size, out HPS.Spotlight.InnerConeUnits out_units)

Shows the inner cone for this SpotlightKey.

Param out_size

The size of the inner cone for this SpotlightKey.

Param out_units

The units for the size of the inner cone for this SpotlightKey.

Return

true if an inner cone was set, false otherwise.

bool ShowOuterCone (out float out_size, out HPS.Spotlight.OuterConeUnits out_units)

Shows the outer cone for this SpotlightKey.

Param out_size

The size of the outer cone for this SpotlightKey.

Param out_units

The units for the size of the outer cone for this SpotlightKey.

Return

true if an outer cone was set, false otherwise.

bool ShowPosition (out HPS.Point out_position)

Shows the position of the light source for this SpotlightKey.

Param out_position

The position of the light source for this SpotlightKey.

Return

true if a light source position was set, false otherwise.

bool ShowTarget (out HPS.Point out_target)

Shows the target coordinate towards which the light source points for this SpotlightKey.

Param out_target

The target coordinate towards which the light source points for this SpotlightKey.

Return

true if a target was set, false otherwise.

SpotlightKey ()

The default constructor creates an uninitialized SpotlightKey object. The Type() function will return Type.None.

SpotlightKey (HPS.Key in_that)

This constructor creates a SpotlightKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Spotlight key. Otherwise the copy will fail and the resulting SpotlightKey will be invalid.

SpotlightKey (HPS.SpotlightKey in_that)

The copy constructor creates a SpotlightKey object that shares the underlying smart-pointer of the source SpotlightKey.

Param in_that

The source SpotlightKey to copy.

HPS.SpotlightKey UnsetColor ()

Removes the color (RGBA or material index) set on this SpotlightKey.

Return

A reference to this SpotlightKey.

class SpotlightKit : public HPS.Kit

The HPS.SpotlightKit class is a user space object. It is the kit counterpart to a HPS.SpotlightKey. Calling HPS.SpotlightKit.GetDefault() will return a kit with values found in this table.

Public Functions

void Consume (HPS.SpotlightKit in_kit)

Copies the source SpotlightKit into this SpotlightKit and resets the source kit.

Param in_kit

The source SpotlightKit to consume.

override bool Empty ()

Indicates whether this SpotlightKit has any values set on it.

Return

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

bool Equals (HPS.SpotlightKit in_kit)

Check if the source SpotlightKit is equivalent to this SpotlightKit.

Param in_kit

The source SpotlightKit to compare to this SpotlightKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source SpotlightKit into this SpotlightKit.

Param in_kit

The source SpotlightKit to copy.

HPS.SpotlightKit SetCameraRelative (bool in_state)

Sets the camera-relative setting for this SpotlightKit. This defines what the implied units of the target and position will be.

See

SetPosition

See

SetTarget

Param in_state

Whether the coordinates of the position and target for this SpotlightKit are treated as being in object space or camera-relative space.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetColor (HPS.RGBAColor in_rgba_color)

Sets the RGBA color to use for this SpotlightKit.

Param in_rgba_color

The RGBA color to use for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetColorByIndex (float in_index)

Sets the color index to use for this SpotlightKit.

Param in_index

The color index to use for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetConcentration (float in_concentration)

Sets the concentration for this SpotlightKit. The concentration defines the rate at which light intensity decreases with increasing angular distance from the light direction vector. This effect works in addition to the decrease that occurs between the inner and outer cones.

Param in_concentration

The concentration for the SpotlightKit. This value must be non-negative. A value of 0.0f defines no intensity decrease (besides that between the inner and outer cone), and larger values will concentrate intensity closer to the light direction vector.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetInnerCone (float in_size)

Sets the size of the inner cone for this SpotlightKit. The inner cone defines the conic region inside the conic region defined by the outer cone at which the spotlight intensity will decrease linearly to zero at the outer cone’s edge. As such, the size of the inner cone should be no larger than the outer cone.

Param in_size

The size of the inner cone for this SpotlightKit. The interpretation of the value and its valid range depends on the units argument.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetInnerCone (float in_size, HPS.Spotlight.InnerConeUnits in_units)

Sets the size of the inner cone for this SpotlightKit. The inner cone defines the conic region inside the conic region defined by the outer cone at which the spotlight intensity will decrease linearly to zero at the outer cone’s edge. As such, the size of the inner cone should be no larger than the outer cone.

Param in_size

The size of the inner cone for this SpotlightKit. The interpretation of the value and its valid range depends on the units argument.

Param in_units

The units for the size of the inner cone for this SpotlightKit. Defaults to Spotlight.InnerConeUnits.Percent.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetOuterCone (float in_size)

Sets the size of the outer cone for this SpotlightKit. The outer cone defines the conic region inside of which surfaces will be illuminated by this spotlight. Any surface outside this conic region will not be illuminated by this spotlight.

Param in_size

The size of the outer cone for this SpotlightKit. The interpretation of the value and its valid range depends on the units argument.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetOuterCone (float in_size, HPS.Spotlight.OuterConeUnits in_units)

Sets the size of the outer cone for this SpotlightKit. The outer cone defines the conic region inside of which surfaces will be illuminated by this spotlight. Any surface outside this conic region will not be illuminated by this spotlight.

Param in_size

The size of the outer cone for this SpotlightKit. The interpretation of the value and its valid range depends on the units argument.

Param in_units

The units for the size of the outer cone for this SpotlightKit. Defaults to Spotlight.OuterConeUnits.Degrees.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetPosition (HPS.Point in_position)

Sets the position of the light source for this SpotlightKit.

See

SetCameraRelative

Param in_position

The position of the light source for this SpotlightKit. The point will either be treated as being in object space or in camera-relative units depending on the setting passed to SetCameraRelative.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the SpotlightKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.SpotlightKit SetTarget (HPS.Point in_target)

Sets the target coordinate towards which the light source points for this SpotlightKit.

See

SetCameraRelative

Param in_target

The target coordinate towards which the light source points for this SpotlightKit. The point will either be treated as being in object space or in camera-relative units depending on the setting passed to SetCameraRelative.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.SpotlightKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.SpotlightKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.SpotlightKit out_kit)

Copies this SpotlightKit into the given SpotlightKit.

Param out_kit

The SpotlightKit to populate with the contents of this SpotlightKit.

bool ShowCameraRelative (out bool out_state)

Shows the camera-relative setting for this SpotlightKit.

Param out_state

Whether the coordinates of the position and target for this SpotlightKit are treated as being in object space or camera-relative space.

Return

true if a camera-relative setting was set, false otherwise.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_index)

Shows the color for this SpotlightKit.

Param out_type

The type of color for the spotlight.

Param out_rgba_color

The RGBA color for the spotlight. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for the spotlight. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

bool ShowConcentration (out float out_concentration)

Shows the concentration for this SpotlightKit.

Param out_concentration

The concentration for this SpotlightKit.

Return

true if a concentration was set, false otherwise.

bool ShowInnerCone (out float out_size, out HPS.Spotlight.InnerConeUnits out_units)

Shows the inner cone for this SpotlightKit.

Param out_size

The size of the inner cone for this SpotlightKit.

Param out_units

The units for the size of the inner cone for this SpotlightKit.

Return

true if an inner cone was set, false otherwise.

bool ShowOuterCone (out float out_size, out HPS.Spotlight.OuterConeUnits out_units)

Shows the outer cone for this SpotlightKit.

Param out_size

The size of the outer cone for this SpotlightKit.

Param out_units

The units for the size of the outer cone for this SpotlightKit.

Return

true if an outer cone was set, false otherwise.

bool ShowPosition (out HPS.Point out_position)

Shows the position of the light source for this SpotlightKit.

Param out_position

The position of the light source for this SpotlightKit.

Return

true if a light source position was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if a drawing priority was specified, false otherwise.

bool ShowTarget (out HPS.Point out_target)

Shows the target coordinate towards which the light source points for this SpotlightKit.

Param out_target

The target coordinate towards which the light source points for this SpotlightKit.

Return

true if a target was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

SpotlightKit ()

The default constructor creates an empty SpotlightKit object.

SpotlightKit (HPS.SpotlightKit in_kit)

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

Param in_kit

The source SpotlightKit to copy.

HPS.SpotlightKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.SpotlightKit UnsetCameraRelative ()

Removes the camera-relative setting for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetColor ()

Removes the color (RGBA or material index) for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetConcentration ()

Removes the concentration for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetEverything ()

Removes all settings from the SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetInnerCone ()

Removes the inner-cone size specification for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetOuterCone ()

Removes the outer-cone size specification for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetPosition ()

Removes the light source position for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetPriority ()

Removes the drawing priority setting.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetTarget ()

Removes the target coordinate towards which the light source points for this SpotlightKit.

Return

A reference to this SpotlightKit.

HPS.SpotlightKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.SpotlightKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

Public Static Functions

HPS.SpotlightKit GetDefault ()

Creates a SpotlightKit 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 SpotlightKit with the default settings.

class StandAloneWindowEvent : public HPS.Event

The StandAloneWindowEvent class is the event that is generated by a Standalone window.

Public Types

enum Action

Enumeration of various actions StandAloneWindowEvent.

Values:

Unknown

The StandAloneWindow has recieved a unknown message.

Close

The StandAloneWindow has recieved a close.

FocusIn
FocusOut

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this ErrorEvent.

Return

A copy of this ErrorEvent.

bool Equals (HPS.StandAloneWindowEvent in_that)

Check if the source object is equivalent to this object.

Return

true if the objects are equivalent, false otherwise.

StandAloneWindowEvent ()

The default constructor creates an StandAloneWindowEvent object with an empty message and code of 0.

StandAloneWindowEvent (HPS.Event in_event)

This constructor converts an EventObject to a StandAloneWindowEvent object.

Param in_event

The EventObject to be converted.

StandAloneWindowEvent (HPS.StandAloneWindowEvent.Action in_action)

This constructor creates a StandAloneWindowEvent object for a given action.

Param in_action

Action of this StandAloneWindowEvent.

class StandAloneWindowKey : public HPS.WindowKey

The StandAloneWindowKey object is a handle to a stand-alone window that Visualize can draw into. Standalone windows are always directly created by Visualize. The Visualize rendering context will use the entire window for rendering. Standalone windows are only supported on Microsoft Windows and Linux platforms.

Public Functions

HPS.StandAloneWindowOptionsControl GetWindowOptionsControl ()

Gets a control that allows querying options specific to stand-alone windows.

Return

A control that allows querying options specific to stand-alone windows.

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.

HPS.Window.UpdateStatus Pause ()

Triggers an update and puts the calling thread into a wait loop which will only be exited when a mouse, touch, or keyboard event occurs.

Return

The status of the triggered update.

bool ShowWindowOptions (out HPS.StandAloneWindowOptionsKit out_kit)

Shows the stand-alone-window-specific options for this StandAloneWindowKey.

Param out_kit

The stand-alone-window-specific options for this StandAloneWindowKey.

Return

true if any options are set, false otherwise.

StandAloneWindowKey ()

The default constructor creates an uninitialized StandAloneWindowKey object. The Type() function will return Type.None.

StandAloneWindowKey (HPS.Key in_key)

This constructor creates an StandAloneWindowKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of an application window. Otherwise the copy will fail and the resulting StandAloneWindowKey will be invalid.

Param in_key

The source Key to copy.

StandAloneWindowKey (HPS.StandAloneWindowKey in_that)

The copy constructor creates a StandAloneWindowKey object that shares the underlying smart-pointer of the source StandAloneWindowKey.

Param in_that

The source StandAloneWindowKey to copy.

class StandAloneWindowOptionsControl : public HPS.Control

The HPS.StandAloneWindowOptionsControl class is a smart pointer that is tied to a database object. It is used to set and query stand-alone-window-specific options on a HPS.StandAloneWindowKey.

Default values for the various fields of HPS.StandAloneWindowOptionsControl can be found here.

Standalone windows are not supported on Android, iOS, or macOS as all GUI / windowing is controlled at the application level.

Public Functions

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.

HPS.StandAloneWindowOptionsControl SetAntiAliasCapable (bool in_state)

Sets the anti-alias options for this StandAloneWindowOptionsControl.

Param in_state

Whether the associated stand-alone window should be anti-alias capable.

Return

A reference to this StandAloneWindowOptionsControl.

HPS.StandAloneWindowOptionsControl SetAntiAliasCapable (bool in_state, uint in_samples)

Sets the anti-alias options for this StandAloneWindowOptionsControl.

Param in_state

Whether the associated stand-alone window should be anti-alias capable.

Param in_samples

The number of anti-alias samples to use for the associated stand-alone window. Defaults to 4.

Return

A reference to this StandAloneWindowOptionsControl.

HPS.StandAloneWindowOptionsControl SetFullScreen (bool in_state)

Sets whether this stand-alone window should fill the screen.

Param in_state

Whether this stand-alone window should fill the screen.

Return

A reference to this StandAloneWindowOptionsControl.

HPS.StandAloneWindowOptionsControl SetMobility (HPS.Window.Mobility in_mobility)

Sets the mobility for this stand-alone window. Mobility refers to the resizing and positioning behaviors of a window.

Param in_mobility

The mobility for this stand-alone window.

Return

A reference to this StandAloneWindowOptionsControl.

HPS.StandAloneWindowOptionsControl SetScreenAntiAliasing (bool in_state)

Manipulates the state of screen anti-aliasing.

Param in_state

Whether screen anti-aliasing should be used.

Return

A reference to this object.

HPS.StandAloneWindowOptionsControl SetSubscreen (HPS.Rectangle in_subscreen)

Sets the subscreen to render into for this stand-alone window.

Param in_subscreen

The subscreen to render into for this stand-alone window. The units of the Rectangle are in window space, so -1.0f corresponds to the left (or bottom) of the window and 1.0f corresponds to the right (or top) of the window.

Return

A reference to this StandAloneWindowOptionsControl.

bool ShowAntiAliasCapable (out bool out_state, out uint out_samples)

Shows the whether this stand-alone window is anti-alias capable, and if so, how many samples it uses for anti-aliasing.

Param out_state

Whether this stand-alone window is anti-alias capable.

Param out_samples

The number of anti-alias samples supported by this stand-alone window.

Return

true if any anti-alias options were set, false otherwise.

bool ShowDriver (out HPS.Window.Driver out_driver)

Shows the driver for this stand-alone window.

Param out_driver

The driver for this stand-alone window.

Return

true if a driver was set, false otherwise.

bool ShowFullScreen (out bool out_state)

Shows whether this stand-alone window should fill the screen.

Param out_state

Whether this stand-alone window should fill the screen.

Return

true if a full screen flag was set, false otherwise.

bool ShowMobility (out HPS.Window.Mobility out_mobility)

Shows the mobility for this stand-alone window.

Param out_mobility

The mobility for this stand-alone window.

Return

true if a mobility was set, false otherwise.

bool ShowSubscreen (out HPS.Rectangle out_subscreen)

Shows the subscreen for this stand-alone window.

Param out_subscreen

The subscreen for this stand-alone window.

Return

true if a subscreen was set, false otherwise.

bool ShowTitle (out string out_window_name)

Shows the title for this stand-alone window.

Param out_window_name

UTF8-encoded title for this stand-alone window.

Return

true if a title was set, false otherwise.

bool ShowWindowHandle (out IntPtr out_window_handle)

Shows the window handle for the associated standalone window.

Param out_window_handle

The window handle for the associated standalone window.

Return

true if a window handle is available, false otherwise.

StandAloneWindowOptionsControl (HPS.StandAloneWindowKey in_seg)

This constructor creates a StandAloneWindowOptionsControl object which is tied to the specified offscreen window.

StandAloneWindowOptionsControl (HPS.StandAloneWindowOptionsControl in_that)

The copy constructor creates a StandAloneWindowOptionsControl object that shares the underlying smart-pointer of the source StandAloneWindowOptionsControl.

Param in_that

The source StandAloneWindowOptionsControl to copy.

HPS.StandAloneWindowOptionsControl UnsetFallbackFonts ()

Unsets any fonts currently used as fallback fonts.

class StandAloneWindowOptionsKit : public HPS.Kit

The StandAloneWindowOptionsKit class is a user space object. It is used to specify stand-alone-window-specific options Calling HPS.StandAloneWindowOptionsKit.GetDefault() will return an options kit with values found in this table.

Standalone windows are not supported on Android, iOS, or macOS as all GUI / windowing is controlled at the application level.

Public Functions

override bool Empty ()

Indicates whether this StandAloneWindowOptionsKit has any values set on it.

Return

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

bool Equals (HPS.StandAloneWindowOptionsKit in_kit)

Check if the source StandAloneWindowOptionsKit is equivalent to this StandAloneWindowOptionsKit.

Param in_kit

The source StandAloneWindowOptionsKit to compare to this StandAloneWindowOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source StandAloneWindowOptionsKit into this StandAloneWindowOptionsKit.

Param in_kit

The source StandAloneWindowOptionsKit to copy.

HPS.StandAloneWindowOptionsKit SetAntiAliasCapable (bool in_state)

Sets the anti-alias options for this StandAloneWindowOptionsKit.

Param in_state

Whether the associated application window should be anti-alias capable.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetAntiAliasCapable (bool in_state, uint in_samples)

Sets the anti-alias options for this StandAloneWindowOptionsKit.

Param in_state

Whether the associated application window should be anti-alias capable.

Param in_samples

The number of anti-alias samples to use for the associated stand-alone window. Defaults to 4.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetDriver (HPS.Window.Driver in_driver)

Sets the driver for this StandAloneWindowOptionsKit.

Param in_driver

The driver for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetFullScreen (bool in_state)

Sets whether the associated stand-alone window should fill the screen.

Param in_state

Whether the associated stand-alone window should fill the screen.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetMobility (HPS.Window.Mobility in_mobility)

Sets the mobility for this StandAloneWindowOptionsKit.

Param in_mobility

The mobility for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetPreferredGPU (HPS.GPU.Preference in_gpu_preference)

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request.

<computeroutput>in_gpu_name</computeroutput> needs to be specified when <computeroutput>in_gpu_preference</computeroutput> is set to <computeroutput> GPU.Preference.Specific </computeroutput>. The value passed for <computeroutput>in_gpu_name</computeroutput> needs to match one of those returned by <computeroutput> Database.ShowAvailableGPUs() </computeroutput>. If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU will be used.

All Visualize windows using DirectX11 will use the same GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling <computeroutput>SetPreferredGPU(GPU.Preference.Specific, “Microsoft Basic Render Driver”)</computeroutput>), DirectX11 will run in software mode.

Param in_gpu_preference

Which GPU to choose. If GPU.Preference.Specific is chosen, the next argument is required.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetPreferredGPU (HPS.GPU.Preference in_gpu_preference, string in_gpu_name)

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request.

<computeroutput>in_gpu_name</computeroutput> needs to be specified when <computeroutput>in_gpu_preference</computeroutput> is set to <computeroutput> GPU.Preference.Specific </computeroutput>. The value passed for <computeroutput>in_gpu_name</computeroutput> needs to match one of those returned by <computeroutput> Database.ShowAvailableGPUs() </computeroutput>. If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU will be used.

All Visualize windows using DirectX11 will use the same GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling <computeroutput>SetPreferredGPU(GPU.Preference.Specific, “Microsoft Basic Render Driver”)</computeroutput>), DirectX11 will run in software mode.

Param in_gpu_preference

Which GPU to choose. If GPU.Preference.Specific is chosen, the next argument is required.

Param in_gpu_name

The name of the specific GPU to use. Required when in_gpu_preference is GPU.Preference.Specific, ignored otherwise.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetScreenAntiAliasing (bool in_state)

Manipulates the state of screen anti-aliasing.

Param in_state

Whether screen anti-aliasing should be used.

Return

A reference to this object.

HPS.StandAloneWindowOptionsKit SetSubscreen (HPS.Rectangle in_subscreen)

Sets the subscreen to render into for this StandAloneWindowOptionsKit.

Param in_subscreen

The subscreen to render into for this StandAloneWindowOptionsKit. The units of the Rectangle are in window space, so -1.0f corresponds to the left (or bottom) of the window and 1.0f corresponds to the right (or top) of the window.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit SetTitle (string in_window_name)

Sets the title for this StandAloneWindowOptionsKit.

Param in_window_name

UTF8-encoded title for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

void Show (out HPS.StandAloneWindowOptionsKit out_kit)

Copies this StandAloneWindowOptionsKit into the given StandAloneWindowOptionsKit.

Param out_kit

The StandAloneWindowOptionsKit to populate with the contents of this StandAloneWindowOptionsKit.

bool ShowAntiAliasCapable (out bool out_state, out uint out_samples)

Shows the anti-alias options for this StandAloneWindowOptionsKit.

Param out_state

Whether the associated stand-alone window should be anti-alias capable.

Param out_samples

The number of anti-alias samples to use for the stand-alone application window.

Return

true if anti-alias options were set, false otherwise.

bool ShowDriver (out HPS.Window.Driver out_driver)

Shows the driver for this StandAloneWindowOptionsKit.

Param out_driver

The driver for this StandAloneWindowOptionsKit.

Return

true if a driver was set, false otherwise.

bool ShowFullScreen (out bool out_state)

Shows whether the associated stand-alone window should fill the screen.

Param out_state

Whether the associated stand-alone window should fill the screen.

Return

true if a full screen flag was set, false otherwise.

bool ShowMobility (out HPS.Window.Mobility out_mobility)

Shows the mobility for this StandAloneWindowOptionsKit.

Param out_mobility

The mobility for this StandAloneWindowOptionsKit.

Return

true if a mobility was set, false otherwise.

bool ShowPreferredGPU (out HPS.GPU.Preference out_gpu_preference, out string out_gpu_name)

Shows the preference settings for picking a GPU when multiple GPUs are available.

Param out_gpu_preference

The preference for picking a GPU when multiple GPUs are available.

Param out_gpu_name

The name of the GPU to use. Only valid when out_gpu_preference is GPU.Preference.Specific

Return

true if a GPU preference was set, false otherwise.

bool ShowSubscreen (out HPS.Rectangle out_subscreen)

Shows the subscreen for this StandAloneWindowOptionsKit.

Param out_subscreen

The subscreen for this StandAloneWindowOptionsKit.

Return

true if a subscreen was set, false otherwise.

bool ShowTitle (out string out_window_name)

Shows the title for this StandAloneWindowOptionsKit.

Param out_window_name

UTF8-encoded title for this StandAloneWindowOptionsKit.

Return

true if a title was set, false otherwise.

StandAloneWindowOptionsKit ()

The default constructor creates an empty StandAloneWindowOptionsKit object.

StandAloneWindowOptionsKit (HPS.StandAloneWindowOptionsKit in_kit)

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

Param in_kit

The source StandAloneWindowOptionsKit to copy.

HPS.StandAloneWindowOptionsKit UnsetAntiAliasCapable ()

Removes the anti-alias options for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetDriver ()

Removes the driver for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetEverything ()

Removes all settings from this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetFullScreen ()

Removes whether the associated stand-alone window should fill the screen.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetMobility ()

Removes the mobility for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetPreferredGPU ()

Removes the setting for which GPU should be used when multiple GPUs are available.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetScreenAntiAliasing ()

Removes the screen anti-alias options for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetSubscreen ()

Removes the subscreen for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

HPS.StandAloneWindowOptionsKit UnsetTitle ()

Removes the title for this StandAloneWindowOptionsKit.

Return

A reference to this StandAloneWindowOptionsKit.

Public Static Functions

HPS.StandAloneWindowOptionsKit GetDefault ()

Creates an StandAloneWindowOptionsKit 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

An StandAloneWindowOptionsKit with the default settings.

class STL : public IDisposable

The STL class contains objects and enumerations used for importing STL files.

class File : public IDisposable

The File class provides functions to import and export STL files.

Public Static Functions

HPS.STL.ImportNotifier Import (string in_file_name, HPS.STL.ImportOptionsKit in_options)

Performs an asynchronous import of the specified STL file with the provided options. May throw an IOException prior to starting the asynchronous import.

Param in_file_name

Name of STL file to import.

Param in_options

Options controlling the import of the STL file (e.g., segment to import into).

Return

An ImportNotfier object that can be used to query the import progress and status.

class ImportNotifier : public HPS.IONotifier

The ImportNotifier class is a smart-pointer that is associated with an asynchronous file import. It is used to interact with an ongoing import or get the results from a completed import.

Public Functions

void Assign (HPS.STL.ImportNotifier in_that)

Associate this ImportNotifier with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier for the assignment.

HPS.STL.ImportResultsKit GetResults ()

Get the ImportResultsKit for the file import. Throws an IOException if the import is not complete or was not successful.

Return

The ImportResultsKit for a successful file import.

ImportNotifier ()

The default constructor creates an ImportNotifier object which is not associated with any file import.

ImportNotifier (HPS.IONotifier in_that)

The conversion constructor creates a new derived ImportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ImportNotifier will be invalid.

Param in_that

The source IONotifier to copy.

ImportNotifier (HPS.STL.ImportNotifier in_that)

The copy constructor creates a new ImportNotifier object that is associated with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier to copy.

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.

class ImportOptionsKit : public HPS.Kit

The ImportOptionsKit class contains any settings controlling the import of STL files.

Public Functions

override bool Empty ()

Indicates whether this ImportOptionsKit has any values set on it.

Return

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

bool Equals (HPS.STL.ImportOptionsKit in_kit)

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to compare to this ImportOptionsKit.

Return

true if the objects are equivalent, false otherwise.

ImportOptionsKit ()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit (HPS.STL.ImportOptionsKit in_kit)

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

Param in_kit

The source ImportOptionsKit to copy.

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.STL.ImportOptionsKit in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to copy.

HPS.STL.ImportOptionsKit SetOptimization (bool in_state, HPS.ShellOptimizationOptionsKit in_optimization_kit)

Sets the options for the optimization performed on the shells created as a result of this import. Turning off optimization generally results in slightly faster load times and better visual fidelity, but has the downside of impacting performance. Turning optimization on increases the load time at the expense of visual fidelity but increases performance, based on the options chosen. The tolerances set as part of the optimization kit are particularly responsible for downgrading the visual fidelity. Supplying an empty optimization kit will disable optimization.

Param in_state

Whether the optimization should be enabled.

Param in_optimization_kit

The optimization options for this import

Return

A reference to this ImportOptionsKit.

HPS.STL.ImportOptionsKit SetOptimization (HPS.ShellOptimizationOptionsKit in_optimization_kit)

Sets the options for the optimization performed on the shells created as a result of this import. Turning off optimization generally results in slightly faster load times and better visual fidelity, but has the downside of impacting performance. Turning optimization on increases the load time at the expense of visual fidelity but increases performance, based on the options chosen. The tolerances set as part of the optimization kit are particularly responsible for downgrading the visual fidelity. Supplying an empty optimization kit will disable optimization.

Param in_optimization_kit

The optimization options for this import

Return

A reference to this ImportOptionsKit.

HPS.STL.ImportOptionsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment where the STL data will be imported into. If no segment is specified, a root segment will be created for this purpose during import.

Param in_segment

Segment the STL data will be imported into.

Return

A reference to this ImportOptionsKit.

void Show (out HPS.STL.ImportOptionsKit out_kit)

Copies this ImportOptionsKit into the given ImportOptionsKit.

Param out_kit

The ImportOptionsKit to populate with the contents of this ImportOptionsKit.

bool ShowOptimization (out bool out_state, out HPS.ShellOptimizationOptionsKit out_optimization_options)

Shows the optimization options for this import

Param out_state

Whether optimization is enabled.

Param out_optimization_options

Optimization options for this import.

Return

true if optimization options were specified, false otherwise.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment where the STL data will be imported into.

Param out_segment

Segment the STL data will be imported into.

Return

true if a root segment was specified, false otherwise.

HPS.STL.ImportOptionsKit UnsetEverything ()

Removes all settings from this ImportOptionsKit.

Return

A reference to this ImportOptionsKit.

HPS.STL.ImportOptionsKit UnsetOptimization ()

Removes the optimization options for this import

Return

A reference to this ImportOptionsKit.

HPS.STL.ImportOptionsKit UnsetSegment ()

Removes the root segment specifying where the STL data will be imported into.

Return

A reference to this ImportOptionsKit.

Public Static Functions

HPS.STL.ImportOptionsKit GetDefault ()

Creates an ImportOptionsKit 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

An ImportOptionsKit with the default settings.

class ImportResultsKit : public HPS.Kit

The ImportResultsKit class contains the results of a successful STL import.

Public Functions

override bool Empty ()

Indicates whether this ImportResultsKit has any values set on it.

Return

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

bool Equals (HPS.STL.ImportResultsKit in_kit)

Check if the source ImportResultsKit is equivalent to this ImportResultsKit.

Param in_kit

The source ImportResultsKit to compare to this ImportResultsKit.

Return

true if the objects are equivalent, false otherwise.

ImportResultsKit ()

The default constructor creates an empty ImportResultsKit object.

ImportResultsKit (HPS.STL.ImportResultsKit in_kit)

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

Param in_kit

The source ImportResultsKit to copy.

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.STL.ImportResultsKit in_kit)

Copies the source ImportResultsKit into this ImportResultsKit.

Param in_kit

The source ImportResultsKit to copy.

HPS.STL.ImportResultsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment which the OBJ data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Param in_segment

Segment the OBJ data was imported into.

Return

A reference to this ImportResultsKit.

void Show (out HPS.STL.ImportResultsKit out_kit)

Copies this ImportResultsKit into the given ImportResultsKit.

Param out_kit

The ImportResultsKit to populate with the contents of this ImportResultsKit.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment which the OBJ data was imported into. This was either the root segment specified by the user in the ImportOptionsKit passed to OBJ.File.Import, or the root segment that was created for this purpose during import.

Param out_segment

Segment the OBJ data was imported into.

Return

true if a root segment was specified, false otherwise.

HPS.STL.ImportResultsKit UnsetEverything ()

Removes all settings from this ImportResultsKit.

Return

A reference to this ImportResultsKit.

HPS.STL.ImportResultsKit UnsetSegment ()

Removes the root segment which the OBJ data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Return

A reference to this ImportResultsKit.

class Stream : public IDisposable

The Stream class contains objects and enumerations used for importing and exporting HSF files.

Public Static Functions

HPS.Stream.Toolkit CreateToolkit ()

Create a new Toolkit. !

Return

A new Toolkit.

class AttributeLockImportEvent : public HPS.Stream.ImportEvent
class BoundingImportEvent : public HPS.Stream.ImportEvent
class CameraImportEvent : public HPS.Stream.ImportEvent
class CircleImportEvent : public HPS.Stream.ImportEvent
class CircularArcImportEvent : public HPS.Stream.ImportEvent
class CircularWedgeImportEvent : public HPS.Stream.ImportEvent
class ColorInterpolationImportEvent : public HPS.Stream.ImportEvent
class CommentImportEvent : public HPS.Stream.ImportEvent
class ConditionImportEvent : public HPS.Stream.ImportEvent
class ContourLineImportEvent : public HPS.Stream.ImportEvent
class CubeMapDefinitionImportEvent : public HPS.Stream.ImportEvent
class CullingImportEvent : public HPS.Stream.ImportEvent
class CurveAttributeImportEvent : public HPS.Stream.ImportEvent
class CuttingSectionAttributeImportEvent : public HPS.Stream.ImportEvent
class CuttingSectionImportEvent : public HPS.Stream.ImportEvent
class CylinderAttributeImportEvent : public HPS.Stream.ImportEvent
class CylinderImportEvent : public HPS.Stream.ImportEvent
class DistantLightImportEvent : public HPS.Stream.ImportEvent
class DistantLightPropertyImportEvent : public HPS.Stream.ImportEvent
class DrawingAttributeImportEvent : public HPS.Stream.ImportEvent
class EdgeAttributeImportEvent : public HPS.Stream.ImportEvent
class EllipseImportEvent : public HPS.Stream.ImportEvent
class EllipticalArcImportEvent : public HPS.Stream.ImportEvent
class ExportEvent : public IDisposable

The ExportEvent class is the base class for events signaled during Stream export.

Subclassed by HPS.Stream.GeometryExportEvent, HPS.Stream.SegmentExportEvent

Public Functions

IntPtr GetClassID ()

Returns a unique identifier that is shared by all objects of the same class.

class ExportEventHandler : public IDisposable

The ExportEventHandler class is the base class for user-defined ExportEvent handlers.

Public Functions

void Handle (HPS.Stream.ExportEvent in_event)

The handler function for Stream ExportEvents. Override this function to process the ExportEvent to suit your needs. This function is called synchronously as data is exported by Stream; Stream export will be paused until this function returns.

Param in_event

A pointer to the ExportEvent data.

class ExportNotifier : public HPS.IONotifier

The ExportNotifier class is a smart-pointer that is associated with an asynchronous file export. It is used to interact with an ongoing export or get the results from a completed export.

Public Functions

void Assign (HPS.Stream.ExportNotifier in_that)

Associate this ExportNotifier with the same file export as the source ExportNotifier.

Param in_that

The source ExportNotifier for the assignment.

ExportNotifier ()

The default constructor creates an ExportNotifier object which is not associated with any file export.

ExportNotifier (HPS.IONotifier in_that)

The conversion constructor creates a new derived ExportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ExportNotifier will be invalid.

Param in_that

The source IONotifier to copy.

ExportNotifier (HPS.Stream.ExportNotifier in_that)

The copy constructor creates a new ExportNotifier object that is associated with the same file export as the source ExportNotifier.

Param in_that

The source ExportNotifier to copy.

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.

class ExportOptionsKit : public HPS.Kit

The HPS.Stream.ExportOptionsKit class contains settings controlling the export of HSF files. Calling HPS.Stream.ExportOptionsKit.GetDefault() will return an options kit with values found in this table.

Public Functions

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

ExportOptionsKit ()

The default constructor creates an empty ExportOptionsKit object.

ExportOptionsKit (HPS.Stream.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 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.Stream.ExportOptionsKit in_kit)

Copies the source ExportOptionsKit into this ExportOptionsKit.

Param in_kit

The source ExportOptionsKit to copy.

HPS.Stream.ExportOptionsKit SetColorCompression (bool in_state)

Sets color compression state and maximum number of bits to use for each (r,g,b) color. Defaults to no compression.

See

Default value

Param in_state

Whether color compression is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetColorCompression (bool in_state, uint in_bits_per_color)

Sets color compression state and maximum number of bits to use for each (r,g,b) color. Defaults to no compression.

See

Default value

Param in_state

Whether color compression is enabled or not.

Param in_bits_per_color

Number of bits to use per color when performing color compression. Value must be in the range [0, 72]. Defaults to 24.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetConnectivityCompression (bool in_state)

Sets connectivity (face list) compression state. Defaults to no compression.

See

Default value

Param in_state

Whether color index compression is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetDefaultCamera (HPS.CameraKit in_camera)

Sets the default camera used for the export process. If no camera is specified, no default camera will be used during export.

Param in_camera

The camera to apply as default.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetEventHandler (HPS.Stream.ExportEventHandler in_handler, IntPtr in_type)

Sets the specified ExportEventHandler for the indicated ExportEvent type.

Param in_handler

An ExportEventHandler to be set.

Param in_type

The type of the StreamExportEvent for which the given event handler will be used.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetImageCompression (bool in_state)

Sets image compression state for uncompressed images in segment tree. Defaults to no compression, though the images will be converted to lossless PNG data within the file.

See

Default value

Param in_state

Whether to compress uncompressed images. If false, uncompressed images will be exported as lossless PNG, if true, they are exported as JPEG with the specified quality.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetImageCompression (bool in_state, float in_quality)

Sets image compression state for uncompressed images in segment tree. Defaults to no compression, though the images will be converted to lossless PNG data within the file.

See

Default value

Param in_state

Whether to compress uncompressed images. If false, uncompressed images will be exported as lossless PNG, if true, they are exported as JPEG with the specified quality.

Param in_quality

Float in the range [0,1] indicating the quality of the JPEG image. Defaults to 0.75f.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetIndexCompression (bool in_state)

Sets color index compression state and maximum number of bits to use for each float index. Defaults to no compression.

See

Default value

Param in_state

Whether color index compression is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetIndexCompression (bool in_state, uint in_bits_per_index)

Sets color index compression state and maximum number of bits to use for each float index. Defaults to no compression.

See

Default value

Param in_state

Whether color index compression is enabled or not.

Param in_bits_per_index

Number of bits to use per index when performing color index compression. Value must be in the range [0, 24]. Defaults to 8.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetNormalCompression (bool in_state)

Sets normal compression state and maximum number of bits to use for each (x,y,z) normal. Defaults to no compression.

See

Default value

Param in_state

Whether normal compression is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetNormalCompression (bool in_state, uint in_bits_per_normal)

Sets normal compression state and maximum number of bits to use for each (x,y,z) normal. Defaults to no compression.

See

Default value

Param in_state

Whether normal compression is enabled or not.

Param in_bits_per_normal

Number of bits to use per normal when performing normal compression. Value must be in the range [0, 72]. Defaults to 10.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetParameterCompression (bool in_state)

Sets vertex parameter compression state and maximum number of bits to use for each (single) vertex parameter. Defaults to no compression.

Param in_state

Whether parameter compression is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetParameterCompression (bool in_state, uint in_bits_per_parameter)

Sets vertex parameter compression state and maximum number of bits to use for each (single) vertex parameter. Defaults to no compression.

Param in_state

Whether parameter compression is enabled or not.

Param in_bits_per_parameter

Number of bits to use per parameter when performing parameter compression. Value must be in the range [0, 24]. Defaults to 8.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetSerializeTristrips (bool in_state)

Sets tristrips serialization state. Defaults to tristrips are serialized.

See

Default value

Param in_state

Whether tristrips serialization is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetToolkit (HPS.Stream.Toolkit in_toolkit)

Sets the toolkit used for the export process. If no toolkit is specified, a default tookit will be used during export.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetVertexCompression (bool in_state)

Sets vertex compression state and maximum number of bits to use for each (x,y,z) vertex. Defaults to no compression.

See

Default value

Param in_state

Whether vertex compression is enabled or not.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit SetVertexCompression (bool in_state, uint in_bits_per_vertex)

Sets vertex compression state and maximum number of bits to use for each (x,y,z) vertex. Defaults to no compression.

See

Default value

Param in_state

Whether vertex compression is enabled or not.

Param in_bits_per_vertex

Number of bits to use per vertex when performing vertex compression. Value must be in the range [0, 72]. Defaults to 24.

Return

A reference to this ExportOptionsKit.

void Show (out HPS.Stream.ExportOptionsKit out_kit)

Copies this ExportOptionsKit into the given ExportOptionsKit.

Param out_kit

The ExportOptionsKit to populate with the contents of this ExportOptionsKit.

bool ShowColorCompression (out bool out_state, out uint out_bits_per_color)

Shows color compression state and maximum number of bits to use for each (r,g,b) color.

Param out_state

Whether color compression is enabled or not.

Param out_bits_per_color

Number of bits to use per color when performing color compression.

Return

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

bool ShowConnectivityCompression (out bool out_state)

Shows connectivity (face list) compression state.

Param out_state

Whether connectivity compression is enabled or not.

Return

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

bool ShowDefaultCamera (out HPS.CameraKit out_camera)

Shows the default camera used for the export process.

Param out_camera

The camera being used as default.

Return

A reference to this ExportOptionsKit.

bool ShowImageCompression (out bool out_state, out float out_quality)

Shows image compression state for uncompressed images in segment tree.

Param out_state

Whether image compression is enabled or not.

Param out_quality

Float in the range [0,1] indicating the quality of the JPEG image.

Return

true if an image compression setting was specified, false otherwise.

bool ShowIndexCompression (out bool out_state, out uint out_bits_per_index)

Shows color index compression state and maximum number of bits to use for each float index.

Param out_state

Whether color index compression is enabled or not.

Param out_bits_per_index

Number of bits to use per index when performing color index compression.

Return

true if a color index compression setting was specified, false otherwise.

bool ShowNormalCompression (out bool out_state, out uint out_bits_per_normal)

Shows normal compression state and maximum number of bits to use for each (x,y,z) normal.

Param out_state

Whether normal compression is enabled or not.

Param out_bits_per_normal

Number of bits to use per normal when performing normal compression.

Return

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

bool ShowParameterCompression (out bool out_state, out uint out_bits_per_parameter)

Shows vertex parameter compression state and maximum number of bits to use for each (single) vertex parameter.

Param out_state

Whether parameter compression is enabled or not.

Param out_bits_per_parameter

Number of bits to use per parameter when performing parameter compression.

Return

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

bool ShowSerializeTristrips (out bool out_state)

Shows tristrips serialization state.

Param out_state

Whether tristrips serialization is enabled or not.

Return

true if a tristrips serialization setting was specified, false otherwise.

bool ShowToolkit (out HPS.Stream.Toolkit out_toolkit)

Shows the root toolkit used for the export process.

Param out_toolkit

The Toolkit used for the export process.

Return

true if a toolkit was specified, false otherwise.

bool ShowVertexCompression (out bool out_state, out uint out_bits_per_vertex)

Shows vertex compression state and maximum number of bits to use for each (x,y,z) vertex.

Param out_state

Whether vertex compression is enabled or not.

Param out_bits_per_vertex

Number of bits to use per vertex when performing vertex compression.

Return

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

HPS.Stream.ExportOptionsKit UnsetColorCompression ()

Removes color compression state and maximum number of bits to use for each (r,g,b) color.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetConnectivityCompression ()

Removes connectivity (face list) compression state.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetDefaultCamera ()

Removes the default camera used for the export process.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetEventHandler (IntPtr in_type)

Unsets the ExportEventHandler for the indicated ExportEvent type.

Param in_type

The type of the StreamExportEvent to unset.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetEventHandlers ()

Unsets the ExportEventHandler for all ExportEvent types.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetEverything ()

Removes all settings from this ExportOptionsKit.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetImageCompression ()

Removes image compression state for uncompressed images in segment tree.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetIndexCompression ()

Removes color index compression state and maximum number of bits to use for each float index.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetNormalCompression ()

Removes normal compression state and maximum number of bits to use for each (x,y,z) normal.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetParameterCompression ()

Removes vertex parameter compression state and maximum number of bits to use for each (single) vertex parameter.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetSerializeTristrips ()

Removes tristrips serialization state.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetToolkit ()

Removes the toolkit used for the export process.

Return

A reference to this ExportOptionsKit.

HPS.Stream.ExportOptionsKit UnsetVertexCompression ()

Removes vertex compression state and maximum number of bits to use for each (x,y,z) vertex.

Return

A reference to this ExportOptionsKit.

Public Static Functions

HPS.Stream.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.

class ExportStartedEvent : public HPS.Event

The ExportStartedEvent class indicates that a Stream export has started. It will always be injected synchronously.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this ExportStartedEvent.

Return

A copy of this TimerEvent.

override bool Drop (HPS.Event in_that_event)

Determines if this ExportStartedEvent can be drop in favor of the following event of the same type

Param in_that_event

Event to compare with this ExportStartedEvent.

Return

true if this event can be dropped, false otherwise.

ExportStartedEvent ()

The default constructor creates a ExportStartedEvent object.

ExportStartedEvent (HPS.Event in_event)

This constructor converts an EventObject to a ExportStartedEvent object.

Param in_event

The EventObject to be converted.

override IntPtr Freshen ()

This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available.

Return

A cookie representing the freshen category. Zero indicates a non-freshening event.

class File : public IDisposable

The File class provides functions to import and export HSF files.

Public Static Functions

HPS.Stream.ExportNotifier Export (HPS.SegmentKey in_segment, HPS.Stream.ExportOptionsKit in_options, out byte[][] out_hsf_buffers)

Performs an asynchronous HSF export of the given segment with the provided options to a list of output buffers. An exception will be thrown if a problem is encountered during export.

Param in_segment

Segment containing the data to export.

Param in_options

Options controlling the export of the HSF data.

Param out_hsf_buffers

The output buffers the exported HSF data is written to.

Return

An ExportNotifier object that can be used to query the export progress and status.

HPS.Stream.ExportNotifier Export (string in_file_name, HPS.SegmentKey in_segment, HPS.Stream.ExportOptionsKit in_options)

Performs an asynchronous HSF export of the given segment with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Param in_file_name

Name of the file to write the HSF data to.

Param in_segment

Segment containing the data to export.

Param in_options

Options controlling the export of the HSF data.

Return

An ExportNotifier object that can be used to query the export progress and status.

HPS.Stream.ImportNotifier Import (byte[][] in_hsf_buffers, HPS.Stream.ImportOptionsKit in_options)

Performs an asynchronous import of the specified HSF file with the provided options. May throw an IOException prior to starting the asynchronous import.

Param in_hsf_buffers

The buffer of HSF data to import.

Param in_options

Options controlling the import of the HSF file (e.g., segment to import into).

Return

An ImportNotfier object that can be used to query the import progress and status.

HPS.Stream.ImportNotifier Import (string in_file_name, HPS.Stream.ImportOptionsKit in_options)

Performs an asynchronous import of the specified HSF file with the provided options. May throw an IOException prior to starting the asynchronous import.

Param in_file_name

Name of HSF file to import.

Param in_options

Options controlling the import of the HSF file (e.g., segment to import into).

Return

An ImportNotfier object that can be used to query the import progress and status.

class GeometryExportEvent : public HPS.Stream.ExportEvent

The GeometryExportEvent class indicates that geometry is about to be exported by Stream.

class GlyphDefinitionImportEvent : public HPS.Stream.ImportEvent
class GridImportEvent : public HPS.Stream.ImportEvent
class HiddenLineAttributeImportEvent : public HPS.Stream.ImportEvent
class ImageDefinitionImportEvent : public HPS.Stream.ImportEvent
class ImportCompletedEvent : public HPS.Event

The ImportCompletedEvent class indicates that a Stream import is complete. It will always be injected synchronously.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this ImportCompletedEvent.

Return

A copy of this TimerEvent.

override bool Drop (HPS.Event in_that_event)

Determines if this ImportCompletedEvent can be drop in favor of the following event of the same type

Param in_that_event

Event to compare with this ImportCompletedEvent.

Return

true if this event can be dropped, false otherwise.

override IntPtr Freshen ()

This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available.

Return

A cookie representing the freshen category. Zero indicates a non-freshening event.

ImportCompletedEvent ()

The default constructor creates a ImportCompletedEvent object.

ImportCompletedEvent (HPS.Event in_event)

This constructor converts an EventObject to a ImportCompletedEvent object.

Param in_event

The EventObject to be converted.

class ImportEvent : public IDisposable

The ImportEvent class is the base class for events signaled during Stream export.

Subclassed by HPS.Stream.AttributeLockImportEvent, HPS.Stream.BoundingImportEvent, HPS.Stream.CameraImportEvent, HPS.Stream.CircleImportEvent, HPS.Stream.CircularArcImportEvent, HPS.Stream.CircularWedgeImportEvent, HPS.Stream.ColorInterpolationImportEvent, HPS.Stream.CommentImportEvent, HPS.Stream.ConditionImportEvent, HPS.Stream.ContourLineImportEvent, HPS.Stream.CubeMapDefinitionImportEvent, HPS.Stream.CullingImportEvent, HPS.Stream.CurveAttributeImportEvent, HPS.Stream.CuttingSectionAttributeImportEvent, HPS.Stream.CuttingSectionImportEvent, HPS.Stream.CylinderAttributeImportEvent, HPS.Stream.CylinderImportEvent, HPS.Stream.DistantLightImportEvent, HPS.Stream.DistantLightPropertyImportEvent, HPS.Stream.DrawingAttributeImportEvent, HPS.Stream.EdgeAttributeImportEvent, HPS.Stream.EllipseImportEvent, HPS.Stream.EllipticalArcImportEvent, HPS.Stream.GlyphDefinitionImportEvent, HPS.Stream.GridImportEvent, HPS.Stream.HiddenLineAttributeImportEvent, HPS.Stream.ImageDefinitionImportEvent, HPS.Stream.IncludeSegmentImportEvent, HPS.Stream.InfiniteLineImportEvent, HPS.Stream.LegacyShaderDefinitionImportEvent, HPS.Stream.LightingAttributeImportEvent, HPS.Stream.LineAttributeImportEvent, HPS.Stream.LineImportEvent, HPS.Stream.LinePatternDefinitionImportEvent, HPS.Stream.MarkerAttributeImportEvent, HPS.Stream.MarkerImportEvent, HPS.Stream.MaterialImportEvent, HPS.Stream.MaterialPaletteDefinitionImportEvent, HPS.Stream.MaterialPaletteImportEvent, HPS.Stream.MatrixImportEvent, HPS.Stream.MeshImportEvent, HPS.Stream.MeshInstanceImportEvent, HPS.Stream.NURBSCurveImportEvent, HPS.Stream.NURBSSurfaceAttributeImportEvent, HPS.Stream.NURBSSurfaceImportEvent, HPS.Stream.NamedStyleDefinitionImportEvent, HPS.Stream.NamedStyleImportEvent, HPS.Stream.NonDBUserDataImportEvent, HPS.Stream.PerformanceImportEvent, HPS.Stream.PolygonImportEvent, HPS.Stream.PriorityImportEvent, HPS.Stream.ReferenceGeometryImportEvent, HPS.Stream.SegmentImportEvent, HPS.Stream.SelectabilityImportEvent, HPS.Stream.ShapeDefinitionImportEvent, HPS.Stream.ShellImportEvent, HPS.Stream.ShellInstanceImportEvent, HPS.Stream.SphereAttributeImportEvent, HPS.Stream.SphereImportEvent, HPS.Stream.SpotlightImportEvent, HPS.Stream.StyleSegmentImportEvent, HPS.Stream.SubwindowImportEvent, HPS.Stream.TextAttributeImportEvent, HPS.Stream.TextImportEvent, HPS.Stream.TextureDefinitionImportEvent, HPS.Stream.TransformMaskImportEvent, HPS.Stream.TransparencyImportEvent, HPS.Stream.UserDataImportEvent, HPS.Stream.VisibilityImportEvent, HPS.Stream.VisualEffectsImportEvent

Public Functions

IntPtr GetClassID ()

Returns a unique identifier that is shared by all objects of the same class.

class ImportEventHandler : public IDisposable

The ImportEventHandler class is the base class for user-defined ImportEvent handlers. If your ImportEventHandler elects not to import incoming geometry, then subsequent operations on that geometry along with follow-up attributes (priority, user-data, etc…) will throw an InvalidObjectException.

Public Functions

bool Handle (HPS.Stream.ImportEvent in_event)

The handler function for Stream ImportEvents. Override this function to process the ImportEvent to suit your needs. This function is called synchronously as data is imported by Stream; Stream import will be paused until this function returns.

Param in_event

A pointer to the ImportEvent representing the impending change to the database.

Return

A bool that specifies if the database change indicated by in_event should be applied. true means that the change will be applied to the database; false means that no change will be made.

class ImportNotifier : public HPS.IONotifier

The ImportNotifier class is a smart-pointer that is associated with an asynchronous file import. It is used to interact with an ongoing import or get the results from a completed import.

Public Functions

void Assign (HPS.Stream.ImportNotifier in_that)

Associate this ImportNotifier with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier for the assignment.

HPS.Stream.ImportResultsKit GetResults ()

Get the ImportResultsKit for the file import. Throws an IOException if the import is not complete or was not successful.

Return

The ImportResultsKit for a successful file import.

ImportNotifier ()

The default constructor creates an ImportNotifier object which is not associated with any file import.

ImportNotifier (HPS.IONotifier in_that)

The conversion constructor creates a new derived ImportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ImportNotifier will be invalid.

Param in_that

The source IONotifier to copy.

ImportNotifier (HPS.Stream.ImportNotifier in_that)

The copy constructor creates a new ImportNotifier object that is associated with the same file import as the source ImportNotifier.

Param in_that

The source ImportNotifier to copy.

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.

class ImportOptionsKit : public HPS.Kit

The ImportOptionsKit class contains any settings controlling the import of HSF files.

Public Functions

override bool Empty ()

Indicates whether this ImportOptionsKit has any values set on it.

Return

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

bool Equals (HPS.Stream.ImportOptionsKit in_kit)

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to compare to this ImportOptionsKit.

Return

true if the objects are equivalent, false otherwise.

ImportOptionsKit ()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit (HPS.Stream.ImportOptionsKit in_kit)

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

Param in_kit

The source ImportOptionsKit to copy.

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.Stream.ImportOptionsKit in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Param in_kit

The source ImportOptionsKit to copy.

HPS.Stream.ImportOptionsKit SetAlternateRoot (HPS.SegmentKey in_segment)

Sets the segment which will be used when the import file tries to access segments above the root segment. If no segment is specified, a root segment will be created for this purpose during import.

Param in_segment

Segment that will be used when the import file tries to access segments above the root segment.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit SetEventHandler (HPS.Stream.ImportEventHandler in_handler, IntPtr in_type)

Sets the specified ImportEventHandler for the indicated ImportEvent type.

Param in_handler

An ImportEventHandler to be set.

Param in_type

The type of the StreamImportEvent for which the given event handler will be used.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit SetPortfolio (HPS.PortfolioKey in_portfolio)

Sets the portfolio which will be used for any definitions that need to be created during import. If no portfolio is specified, a portfolio will be created for this purpose during import.

Param in_portfolio

Portfolio that will be used for any definitions that need to be created during import.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment where the HSF data will be imported into. If no segment is specified, a root segment will be created for this purpose during import.

Param in_segment

Segment the HSF data will be imported into.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit SetToolkit (HPS.Stream.Toolkit in_toolkit)

Sets the toolkit used for the import process. If no tooklkit is specified, a default tookit will be used during import.

Return

A reference to this ImportOptionsKit.

void Show (out HPS.Stream.ImportOptionsKit out_kit)

Copies this ImportOptionsKit into the given ImportOptionsKit.

Param out_kit

The ImportOptionsKit to populate with the contents of this ImportOptionsKit.

bool ShowAlternateRoot (out HPS.SegmentKey out_segment)

Shows the segment which will be used when the import file tries to access segments above the root segment.

Param out_segment

Segment that will be used when the import file tries to access segments above the root segment.

Return

true if an alternate root segment was specified, false otherwise.

bool ShowPortfolio (out HPS.PortfolioKey out_portfolio)

Shows the portfolio which will be used for any definitions that need to be created during import.

Param out_portfolio

Portfolio that will be used for any definitions that need to be created during import.

Return

true if a portfolio was specified, false otherwise.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment where the HSF data will be imported into.

Param out_segment

Segment the HSF data will be imported into.

Return

true if a root segment was specified, false otherwise.

bool ShowToolkit (out HPS.Stream.Toolkit out_toolkit)

Shows the root toolkit used for the import process.

Param out_toolkit

The Toolkit used for the import process.

Return

true if a toolkit was specified, false otherwise.

HPS.Stream.ImportOptionsKit UnsetAlternateRoot ()

Removes the segment which will be used when the import file tries to access segments above the root segment.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit UnsetEventHandler (IntPtr in_type)

Unsets the ImportEventHandler for the indicated ImportEvent type.

Param in_type

The type of the StreamImportEvent to unset.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit UnsetEventHandlers ()

Unsets the ImportEventHandler for all ImportEvent types.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit UnsetEverything ()

Removes all settings from this ImportOptionsKit.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit UnsetPortfolio ()

Removes the portfolio which will be used for any definitions that need to be created during import.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit UnsetSegment ()

Removes the root segment speciyfing where the HSF data will be imported into.

Return

A reference to this ImportOptionsKit.

HPS.Stream.ImportOptionsKit UnsetToolkit ()

Removes the toolkit used for the import process.

Return

A reference to this ImportOptionsKit.

class ImportResultsKit : public HPS.Kit

The ImportResultsKit class contains the results of a successful HSF import.

Public Functions

override bool Empty ()

Indicates whether this ImportResultsKit has any values set on it.

Return

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

bool Equals (HPS.Stream.ImportResultsKit in_kit)

Check if the source ImportResultsKit is equivalent to this ImportResultsKit.

Param in_kit

The source ImportResultsKit to compare to this ImportResultsKit.

Return

true if the objects are equivalent, false otherwise.

ImportResultsKit ()

The default constructor creates an empty ImportResultsKit object.

ImportResultsKit (HPS.Stream.ImportResultsKit in_kit)

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

Param in_kit

The source ImportResultsKit to copy.

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.Stream.ImportResultsKit in_kit)

Copies the source ImportResultsKit into this ImportResultsKit.

Param in_kit

The source ImportResultsKit to copy.

HPS.Stream.ImportResultsKit SetAlternateRoot (HPS.SegmentKey in_segment)

Sets the segment which was used when the import file tried to access segments above the root segment. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Param in_segment

Segment that was used when the import file tried to access segments above the root segment during import.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit SetDefaultCamera (HPS.CameraKit in_camera)

Sets the “default” camera for this ImportResultsKit. This is generally only used during a Stream Import to record the default camera read from the Stream file.

Param in_camera

The “default” named camera from the HSF file.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit SetPortfolio (HPS.PortfolioKey in_portfolio)

Sets the portfolio which was used for any definitions that had to be created during import. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Param in_portfolio

Portfolio that was used for any definitions that had to be created during import.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit SetSegment (HPS.SegmentKey in_segment)

Sets the root segment which the HSF data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Param in_segment

Segment the HSF data was imported into.

Return

A reference to this ImportResultsKit.

void Show (out HPS.Stream.ImportResultsKit out_kit)

Copies this ImportResultsKit into the given ImportResultsKit.

Param out_kit

The ImportResultsKit to populate with the contents of this ImportResultsKit.

bool ShowAlternateRoot (out HPS.SegmentKey out_segment)

Shows the segment which was used when the import file tried to access segments above the root segment. This was either the alternate root specified by the user in the ImportOptionsKit passed to Stream.File.Import, or the root segment that was created for this purpose during import.

Param out_segment

Segment that was used when the import file tried to access segments above the root segment.

Return

true if an alternate root segment was specified, false otherwise.

bool ShowDefaultCamera (out HPS.CameraKit out_camera)

Shows the “default” camera for this ImportOptionsKit. The “default” camera is set during a Stream Import. There can only be a single default camera in a Stream file.

Param out_camera

The “default” camera from the Stream file.

Return

true if a default camera was specified, false otherwise.

bool ShowPortfolio (out HPS.PortfolioKey out_portfolio)

Shows the portfolio which was used for any definitions that had to be created during import. This was either the portfolio specified by the user in the ImportOptionsKit passed to Stream.File.Import, or the portfolio that was created for this purpose during import.

Param out_portfolio

Portfolio that was used for any definitions that had to be created during import.

Return

true if a portfolio was specified, false otherwise.

bool ShowSegment (out HPS.SegmentKey out_segment)

Shows the root segment which the HSF data was imported into. This was either the root segment specified by the user in the ImportOptionsKit passed to Stream.File.Import, or the root segment that was created for this purpose during import.

Param out_segment

Segment the HSF data was imported into.

Return

true if a root segment was specified, false otherwise.

HPS.Stream.ImportResultsKit UnsetAlternateCameras ()

Removes the alternate named cameras that were present in the HSF file. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit UnsetAlternateRoot ()

Removes the segment which was used when the import file tried to access segments above the root segment. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit UnsetDefaultCamera ()

Removes the “default” camera from this ImportResultsKit. This is generally only used for ImportResultsKits that are generated from a Stream import.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit UnsetEverything ()

Removes all settings from this ImportResultsKit.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit UnsetPortfolio ()

Removes the portfolio which was used for any definitions that had to be created during import. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Return

A reference to this ImportResultsKit.

HPS.Stream.ImportResultsKit UnsetSegment ()

Removes the root segment which the HSF data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an HSF import.

Return

A reference to this ImportResultsKit.

class IncludeSegmentImportEvent : public HPS.Stream.ImportEvent
class InfiniteLineImportEvent : public HPS.Stream.ImportEvent
class LightingAttributeImportEvent : public HPS.Stream.ImportEvent
class LineAttributeImportEvent : public HPS.Stream.ImportEvent
class LineImportEvent : public HPS.Stream.ImportEvent
class LinePatternDefinitionImportEvent : public HPS.Stream.ImportEvent
class MarkerAttributeImportEvent : public HPS.Stream.ImportEvent
class MarkerImportEvent : public HPS.Stream.ImportEvent
class MaterialImportEvent : public HPS.Stream.ImportEvent
class MaterialPaletteDefinitionImportEvent : public HPS.Stream.ImportEvent
class MaterialPaletteImportEvent : public HPS.Stream.ImportEvent
class MatrixImportEvent : public HPS.Stream.ImportEvent
class MeshImportEvent : public HPS.Stream.ImportEvent
class MeshInstanceImportEvent : public HPS.Stream.ImportEvent
class NamedStyleDefinitionImportEvent : public HPS.Stream.ImportEvent
class NamedStyleImportEvent : public HPS.Stream.ImportEvent
class NonDBUserDataImportEvent : public HPS.Stream.ImportEvent

This class indicates non-database user data is being imported by Stream.

class NURBSCurveImportEvent : public HPS.Stream.ImportEvent
class NURBSSurfaceAttributeImportEvent : public HPS.Stream.ImportEvent
class NURBSSurfaceImportEvent : public HPS.Stream.ImportEvent
class PerformanceImportEvent : public HPS.Stream.ImportEvent
class PolygonImportEvent : public HPS.Stream.ImportEvent
class PriorityImportEvent : public HPS.Stream.ImportEvent
class ReferenceGeometryImportEvent : public HPS.Stream.ImportEvent
class SegmentExportEvent : public HPS.Stream.ExportEvent

The SegmentExportEvent class indicates that a segment is about to be exported by Stream.

class SegmentImportEvent : public HPS.Stream.ImportEvent
class SelectabilityImportEvent : public HPS.Stream.ImportEvent
class ShapeDefinitionImportEvent : public HPS.Stream.ImportEvent
class ShellImportEvent : public HPS.Stream.ImportEvent
class ShellInstanceImportEvent : public HPS.Stream.ImportEvent
class SphereAttributeImportEvent : public HPS.Stream.ImportEvent
class SphereImportEvent : public HPS.Stream.ImportEvent
class SpotlightImportEvent : public HPS.Stream.ImportEvent
class StyleSegmentImportEvent : public HPS.Stream.ImportEvent
class SubwindowImportEvent : public HPS.Stream.ImportEvent
class TextAttributeImportEvent : public HPS.Stream.ImportEvent
class TextImportEvent : public HPS.Stream.ImportEvent
class TextureDefinitionImportEvent : public HPS.Stream.ImportEvent
class Toolkit : public HPS.Object

The Toolkit class is the primary support class which manages streaming of HSF data.

Public Functions

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 Restart ()

Restarts the Toolkit object so that it can be reused for importing or exporting.

Toolkit ()

The Default constructor creates an empty Toolkit object.

Toolkit (HPS.Stream.Toolkit in_toolkit)

This constructor creates an Toolkit object that shares the underlying smart-pointer of the source Toolkit.

Param in_toolkit

The source Toolkit to copy.

class TransformMaskImportEvent : public HPS.Stream.ImportEvent
class TransparencyImportEvent : public HPS.Stream.ImportEvent
class UserDataImportEvent : public HPS.Stream.ImportEvent

This class indicates that user data contained within the database (associated with either a segment or geometry key) is being imported by Stream.

class VisibilityImportEvent : public HPS.Stream.ImportEvent
class VisualEffectsImportEvent : public HPS.Stream.ImportEvent
class Style : public IDisposable

This is the Style Class

Public Types

enum AppendMode

The behavior when appending multiple conditional styles that refer to the same source segment.

Values:

None

Style Append Mode.

And

Style Append Mode.

Or

Style Append Mode.

class StyleControl : public HPS.Control

The StyleControl class is a smart pointer that is tied to a database object. Controls are used for manipulating settings within the database.

Public Functions

HPS.StyleKey AppendNamed (string in_style_name, HPS.ConditionalExpression in_conditional)

Appends a conditional expression to an existing style or conditional style. If the style does not currently exist, a new conditional style is pushed. Conditional styles are only applied if their condition(s) are satisfied.

Param in_style_name

The name of the named style which should be defined in an accessible portfolio.

Param in_conditional

A conditional expression that must be satisfied in order for the style to be applied.

Return

a StyleKey that can be used to interact with the style.

HPS.StyleKey AppendNamed (string in_style_name, HPS.ConditionalExpression in_conditional, HPS.Style.AppendMode in_mode)

Appends a conditional expression to an existing style or conditional style. If the style does not currently exist, a new conditional style is pushed. Conditional styles are only applied if their condition(s) are satisfied.

Param in_style_name

The name of the named style which should be defined in an accessible portfolio.

Param in_conditional

A conditional expression that must be satisfied in order for the style to be applied.

Param in_mode

The behavior of the conditional expression if another conditional style is currently applied with the same style.

Return

a StyleKey that can be used to interact with the style.

HPS.StyleKey AppendSegment (HPS.SegmentKey in_style_source, HPS.ConditionalExpression in_conditional)

Appends a conditional expression to an existing style or conditional style. If the style does not currently exist, a new conditional style is pushed. Conditional styles are only applied if their condition(s) are satisfied.

Param in_style_source

The segment to use as the source for the attributes that should be styled.

Param in_conditional

A conditional expression that must be satisfied in order for the style to be applied.

Return

a StyleKey that can be used to interact with the style.

HPS.StyleKey AppendSegment (HPS.SegmentKey in_style_source, HPS.ConditionalExpression in_conditional, HPS.Style.AppendMode in_mode)

Appends a conditional expression to an existing style or conditional style. If the style does not currently exist, a new conditional style is pushed. Conditional styles are only applied if their condition(s) are satisfied.

Param in_style_source

The segment to use as the source for the attributes that should be styled.

Param in_conditional

A conditional expression that must be satisfied in order for the style to be applied.

Param in_mode

The behavior of the conditional expression if another conditional style is currently applied with the same style.

Return

a StyleKey that can be used to interact with the style.

void Flush (HPS.SegmentKey in_style_source)

Removes any styles on the associated segment which refer to the provided style source. The styles will be removed regardless if there is a conditional expression associated with the style or not.

Param in_style_source

The style source used to identify which styles to remove.

void Flush (HPS.SegmentKey in_style_source, HPS.ConditionalExpression in_conditional)

Removes any styles on the associated segment which refer to the provided style source with the provided condition. If a style is found which references the style source and has an associated conditional expression which contains the provided conditional expression, the provided conditional expression will be removed from the conditional expression associated with the style. If removing the provided conditional expression from the style results in the complete removal of the conditional expression for the style, the style itself will be completely removed.

Param in_style_source

The style source used to identify which styles to remove or modify.

Param in_conditional

The conditional expression to remove from styles which refer to the provided style source.

void Flush (string in_style_name)

Removes any styles on the associated segment which refer to the provided style name. The styles will be removed regardless if there is a conditional expression associated with the style or not.

Param in_style_name

The style name used to identify which styles to remove.

void Flush (string in_style_name, HPS.ConditionalExpression in_conditional)

Removes any styles on the associated segment which refer to the provided style name with the provided condition. If a style is found which references the style name and has an associated conditional expression which contains the provided conditional expression, the provided conditional expression will be removed from the conditional expression associated with the style. If removing the provided conditional expression from the style results in the complete removal of the conditional expression for the style, the style itself will be completely removed.

Param in_style_name

The style name used to identify which styles to remove or modify.

Param in_conditional

The conditional expression to remove from styles which refer to the provided style name.

ulong GetCount ()

Returns the number of styles set here.

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.

bool Pop ()

Removes the most recent style.

Return

true if a style was present, false otherwise.

bool Pop (out HPS.Style.Type out_type, out HPS.SegmentKey out_segment_source, out string out_style_name, out HPS.ConditionalExpression out_conditional)

Removes the most recent style and gives information about it to the user.

Param out_type

Indicates the type of the style.

Param out_segment_source

If out_type was Segment, this value contains the source segment for the style.

Param out_style_name

If out_type was Named, this value contains the name of the style (defined in a portfolio).

Param out_conditional

The conditions, if any, set on the style when it was applied.

Return

true if a style was present, false otherwise.

HPS.StyleKey PushNamed (string in_style_name)

Adds a named style to the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings.

HPS.StyleKey PushNamed (string in_style_name, HPS.ConditionalExpression in_conditional)

Adds a conditional named style to the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings. Conditional styles are only applied if their condition(s) are satisfied.

Param in_style_name

The name of the named style which should be defined in an accessible portfolio.

Param in_conditional

A conditional expression that must be satisfied in order for the style to be applied.

Return

a StyleKey that can be used to interact with the style.

HPS.StyleKey PushSegment (HPS.SegmentKey in_style_source)

Creates a new style based on in_style_source and places it on the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings.

Param in_style_source

The segment to use as the source for the attributes that should be styled.

Return

a StyleKey that can be used to interact with the style.

HPS.StyleKey PushSegment (HPS.SegmentKey in_style_source, HPS.ConditionalExpression in_conditional)

Creates a new style based on in_style_source and places it on the top of the style stack. Existing styles are unmodified but styles on top take precedence if there are duplicate settings.

Param in_style_source

The segment to use as the source for the attributes that should be styled.

Param in_conditional

A conditional expression that must be satisfied in order for the style to be applied.

Return

a StyleKey that can be used to interact with the style.

void Set (HPS.Style.Type[] in_types, HPS.SegmentKey[] in_segment_sources, string[] in_style_names, HPS.ConditionalExpression[] in_conditions)

Sets a collection of styles, replacing any existing styles.

Param in_types

Indicates the type of each style.

Param in_segment_sources

For each entry, if in_type was Segment, this value must contain the source segment for the style.

Param in_style_names

For each entry, if in_type was Named, this value must contain the name of the style (defined in a portfolio).

Param in_conditions

The conditions to set on each style.

HPS.StyleKey SetNamed (string in_style_name)

Sets in_style_name as the only active style, replacing any existing styles.

Param in_style_name

The name of the style to apply. If the name does not exist in the active portfolio, no style is applied.

HPS.StyleKey SetNamed (string in_style_name, HPS.ConditionalExpression in_conditional)

Sets in_style_name as the only active style, replacing any existing styles.

Param in_style_name

The name of the style to apply. If the name does not exist in the active portfolio, no style is applied.

Param in_conditional

A condition or conditions that must be met for a style to be activated.

HPS.StyleKey SetSegment (HPS.SegmentKey in_style_source)

Sets in_style_source as the only active style, replacing any existing styles.

Param in_style_source

A segment containing attributes that should be styled.

HPS.StyleKey SetSegment (HPS.SegmentKey in_style_source, HPS.ConditionalExpression in_conditional)

Sets in_style_source as the only active style, replacing any existing styles.

Param in_style_source

A segment containing attributes that should be styled.

Param in_conditional

A condition or conditions that must be met for a style to be activated.

bool Show (out HPS.StyleKey[] out_styles)

Shows the all styles on this segment.

Param out_styles

The StyleKey for each style on this segment.

Return

true if any style was present, false otherwise.

bool ShowAllNamed (out HPS.StyleKey[] out_styles)

Shows the all named styles on this segment.

Param out_styles

The StyleKey for each named style on this segment.

Return

true if any named style was present, false otherwise.

bool ShowAllSegment (out HPS.SegmentKey[] out_segments, out HPS.ConditionalExpression[] out_conditions)

Shows all segment styles on this segment.

Param out_segments

Keys to all segments styled onto this segment.

Param out_conditions

The conditions, if any, set on each style when it was applied.

Return

true if any style of the correct type was present, false otherwise.

bool ShowAllSegment (out HPS.StyleKey[] out_styles)

Shows the all segment styles on this segment.

Param out_styles

The StyleKey for each segment style on this segment.

Return

true if any segment style was present, false otherwise.

bool ShowTop (out HPS.Style.Type out_type, out HPS.SegmentKey out_segment_source, out string out_style_name, out HPS.ConditionalExpression out_conditional)

Shows the most recent style applied to this segment.

Param out_type

Indicates the type of the style.

Param out_segment_source

If out_type was Style.Type.Segment, this value contains the source segment for the style.

Param out_style_name

If out_type was Style.Type.Named, this value contains the name of the style (defined in a portfolio).

Param out_conditional

The conditions, if any, set on the style when it was applied.

Return

true if a style was present, false otherwise.

bool ShowTop (out HPS.StyleKey out_style)

Shows the most recent style applied to this segment.

Param out_style

The StyleKey for the most recent style applied to this segment.

Return

true if a style was present, false otherwise.

StyleControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

StyleControl (HPS.StyleControl in_that)

Initializes a control tied to the same object as in_that.

void UnsetAllNamed ()

Unsets all named styles on this segment.

void UnsetAllSegment ()

Unsets all segment styles on this segment.

void UnsetEverything ()

Unsets all styles on this segment.

void UnsetTop ()

Unsets the most recent style on this segment.

class StyleKey : public HPS.Key

The StyleKey class is a smart pointer to a database object. It is a handle to a style key created by StyleControl.PushSegment.

Public Functions

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.

HPS.StyleKey SetConditionalExpression (HPS.ConditionalExpression in_conditional)

Sets a conditional expression on this StyleKey. This will either make an unconditional style into a conditional style, or modify the condition for an existing conditional style. The target segment referenced by this style will only be styled in if a condition satisfying the given conditional expression is set above this style in the tree.

See

SegmentKey.SetCondition

See

ConditionControl.SetCondition

See

ConditionControl.AddCondition

Param in_conditional

The conditional expression for this StyleKey.

Return

A reference to this StyleKey.

HPS.StyleKey SetFilter (HPS.AttributeLock.Type in_type)

Sets an attribute filter on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey.UnsetFilter

See

StyleKey.ShowFilter

Param in_type

The attribute filter to set for this StyleKey.

Return

A reference to this StyleKey.

HPS.StyleKey SetFilter (HPS.AttributeLock.Type[] in_types)

Sets an array of attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey.UnsetFilter

See

StyleKey.ShowFilter

Param in_types

The array of attribute filters to set for this StyleKey.

Return

A reference to this StyleKey.

bool ShowConditionalExpression (out HPS.ConditionalExpression out_conditional)

Shows the conditional expression for this StyleKey.

Param out_conditional

The conditional expression for this StyleKey.

Return

true if a conditional expression is set on this StyleKey, false otherwise.

bool ShowFilter (HPS.AttributeLock.Type in_type)

Tests if a specific attribute filter is set on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey.SetFilter

See

StyleKey.UnsetFilter

Param in_type

The attribute filter to test on this StyleKey.

Return

true if the specified atribute filter is active on this StyleKey, false otherwise.

bool ShowFilter (out HPS.AttributeLock.Type[] out_types)

Shows an array of the current attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey.SetFilter

See

StyleKey.UnsetFilter

Param out_types

The array of attribute filters currently set on this StyleKey.

Return

true if there are attribute filters, false otherwise.

bool ShowSource (out HPS.Style.Type out_type, out HPS.SegmentKey out_segment, out string out_name)

Shows the source for this StyleKey.

Param out_type

The type of source for this StyleKey. This field indicates which of the following arguments are valid.

Param out_segment

The segment source for this StyleKey. This is only valid if out_type is Style.Type.Segment.

Param out_name

The name source for this StyleKey. This is only valid if out_type is Style.Type.Named.

Return

true if there is a source for this StyleKey, false otherwise.

StyleKey ()

The default constructor creates an uninitialized StyleKey object. The Type() function will return Type.None.

StyleKey (HPS.Key in_that)

This constructor creates an StyleKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a style key. Otherwise the copy will fail and the resulting StyleKey will be invalid.

StyleKey (HPS.StyleKey in_that)

The copy constructor creates a StyleKey object that shares the underlying smart-pointer of the source StyleKey.

Param in_that

The source StyleKey to copy.

HPS.StyleKey UnsetConditionalExpression ()

Removes the conditional expression on this StyleKey. This will turn a conditional style into an unconditional style.

Return

A reference to this StyleKey.

HPS.StyleKey UnsetFilter (HPS.AttributeLock.Type in_type)

Removes an attribute filter from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey.SetFilter

See

StyleKey.ShowFilter

Param in_type

The attribute filter to remove from this StyleKey.

Return

A reference to this StyleKey.

HPS.StyleKey UnsetFilter (HPS.AttributeLock.Type[] in_types)

Removes an array of attribute filters from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey.SetFilter

See

StyleKey.ShowFilter

Param in_types

The array of attribute filters to remove from this StyleKey.

Return

A reference to this StyleKey.

class StyleKeyArray : public HPS::InternalHPSArray<HPS.StyleKey>
class StyleTypeArray : public HPS.InternalHPSBlittableArray<HPS.Style.Type>
class Subwindow : public IDisposable

This is the Subwindow Class

Public Types

enum RenderingAlgorithm

Specifies the Rendering Algorithm to use for drawing the scene.

Values:

ZBuffer
HiddenLine
FastHiddenLine
Priority
class SubwindowControl : public HPS.Control

The HPS.SubwindowControl class is a smart pointer that is tied to a database object. The HPS.SubwindowControl allows you to manipulate the various settings associated with subwindows, such as border, background, and priority. As the main Visualize window is also an implicit subwindow, this control also allows you to set the rendering algorithm. The rendering algorithm should only have a single setting for each window or subwindow. Setting disparate rendering algorithms in multiple places in your scene can lead to unexpected results.

Default values for the various fields of HPS.SubwindowControl can be found here.

Public Functions

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.

HPS.SubwindowControl SetBackground (HPS.Subwindow.Background in_bg_type)

Controls the type of background to be used for subwindows originating from this segment. This has no effect when applied to segments without a subwindow present.

Param in_bg_type

The type of background to be used for subwindows originating from this segment.

Return

A reference to this object.

HPS.SubwindowControl SetBackground (HPS.Subwindow.Background in_bg_type, string in_definition_name)

Controls the type of background to be used for subwindows originating from this segment. This has no effect when applied to segments without a subwindow present.

Param in_bg_type

The type of background to be used for subwindows originating from this segment.

Param in_definition_name

the name of a definition to be used in the background. Only relevant if in_bg_type is Image or Cubemap.

Return

A reference to this object.

HPS.SubwindowControl SetBorder (HPS.Subwindow.Border in_border_type)

Controls the type of border, if any, that should be drawn for subwindows originating from this segment. This has no effect when applied to segments without a subwindow present.

Param in_border_type

The type of border, if any, that should be drawn for subwindows originating from this segment.

Return

A reference to this object.

HPS.SubwindowControl SetModelCompareMode (bool in_state)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_state

Toggles compare mode on or off.

Return

A reference to this object.

HPS.SubwindowControl SetModelCompareMode (bool in_state, HPS.SegmentKey in_source1)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_state

Toggles compare mode on or off.

Param in_source1

The first source model.

Return

A reference to this object.

HPS.SubwindowControl SetModelCompareMode (bool in_state, HPS.SegmentKey in_source1, HPS.SegmentKey in_source2)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_state

Toggles compare mode on or off.

Param in_source1

The first source model.

Param in_source2

The second source model.

Return

A reference to this object.

HPS.SubwindowControl SetModelCompareMode (HPS.SegmentKey in_source1, HPS.SegmentKey in_source2)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_source1

The first source model.

Param in_source2

The second source model.

Return

A reference to this object.

HPS.SubwindowControl SetRenderingAlgorithm (HPS.Subwindow.RenderingAlgorithm in_hsra)

Determines the algorithm used to remove objects (or parts of objects) that are hidden from view by other objects. This has no effect when applied to segments without a subwindow present.

See

Rendering algorithm default value

Param in_hsra

The algorithm used to identify and remove hidden surfaces.

Return

A reference to this object.

HPS.SubwindowControl SetSubwindow (HPS.Rectangle in_window_position)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

See

Subwindowdefault value

Param in_window_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Return

A reference to this object.

HPS.SubwindowControl SetSubwindow (HPS.Rectangle in_window_position, HPS.IntRectangle in_window_offsets)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

See

Subwindowdefault value

Param in_window_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Param in_window_offsets

The pixel-space offsets to apply to each side of the given window position.

Return

A reference to this object.

HPS.SubwindowControl SetSubwindow (HPS.Rectangle in_window_position, HPS.IntRectangle in_window_offsets, HPS.Subwindow.Type in_type)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

See

Subwindowdefault value

Param in_window_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Param in_window_offsets

The pixel-space offsets to apply to each side of the given window position.

Param in_type

The type of subwindow to create.

Return

A reference to this object.

HPS.SubwindowControl SetSubwindow (HPS.Rectangle in_window_position, HPS.Subwindow.Type in_type)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

See

Subwindowdefault value

Param in_window_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Param in_type

The type of subwindow to create.

Return

A reference to this object.

bool ShowBackground (out HPS.Subwindow.Background out_bg_type, out string out_definition_name)

Shows the window background setting

Param out_bg_type

The type of background to be used for subwindows originating from this segment.

Param out_definition_name

the name of a definition to be used in the background.

Return

true if the setting is valid, false otherwise.

bool ShowBorder (out HPS.Subwindow.Border out_border_type)

Shows the subwindow border setting

Param out_border_type

The type of border, if any, that should be drawn for subwindows originating from this segment.

Return

true if the setting is valid, false otherwise.

bool ShowModelCompareMode (out bool out_state, out HPS.SegmentKey out_source1, out HPS.SegmentKey out_source2)

Shows the model compare setting.

Param out_state

The model compare enabled state.

Param out_source1

The first source model.

Param out_source2

The second source model.

Return

true if the setting is valid, false otherwise.

bool ShowRenderingAlgorithm (out HPS.Subwindow.RenderingAlgorithm out_hsra)

Shows the rendering algorithm setting.

Param out_hsra

The algorithm used to identify and remove hidden surfaces.

Return

true if the setting is valid, false otherwise.

bool ShowSubwindow (out HPS.Rectangle out_subwindow_position, out HPS.IntRectangle out_subwindow_offsets, out HPS.Subwindow.Type out_subwindow_type)

Shows the subwindow setting.

Param out_subwindow_position

The portion of the containing window that should be reserved for a subwindow.

Param out_subwindow_offsets

The pixel-space offsets being applied to the subwindow position.

Param out_subwindow_type

The type of subwindow to create.

Return

true if the setting is valid, false otherwise.

SubwindowControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

SubwindowControl (HPS.SubwindowControl in_that)

Initializes a control tied to the same object as in_that.

HPS.SubwindowControl UnsetBackground ()

Removes a subwindow background setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SubwindowKit.GetDefault().

Return

A reference to this object.

HPS.SubwindowControl UnsetBorder ()

Removes a subwindow border setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SubwindowKit.GetDefault().

Return

A reference to this object.

HPS.SubwindowControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by SubwindowKit.GetDefault().

Return

A reference to this object.

HPS.SubwindowControl UnsetModelCompareMode ()

Removes model compare setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SubwindowKit.GetDefault().

Return

A reference to this object.

HPS.SubwindowControl UnsetRenderingAlgorithm ()

Removes a rendering algorithm setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SubwindowKit.GetDefault().

Return

A reference to this object.

HPS.SubwindowControl UnsetSubwindow ()

Removes a subwindow setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by SubwindowKit.GetDefault().

Return

A reference to this object.

class SubwindowKit : public HPS.Kit

The HPS.SubwindowKit class is a user space object, useful for carrying a group of attribute settings related to subwindows. Calling HPS.SubwindowKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.SubwindowKit in_kit)

Check if the source SubwindowKit is equivalent to this object.

Param in_kit

The source SubwindowKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source SubwindowKit into this object.

Param in_kit

The source object to copy.

HPS.SubwindowKit SetBackground (HPS.Subwindow.Background in_bg_type)

Controls the type of background to be used for subwindows originating from this segment. This has no effect when applied to segments without a subwindow present.

Param in_bg_type

The type of background to be used for subwindows originating from this segment.

Return

A reference to this object.

HPS.SubwindowKit SetBackground (HPS.Subwindow.Background in_bg_type, string in_definition_name)

Controls the type of background to be used for subwindows originating from this segment. This has no effect when applied to segments without a subwindow present.

Param in_bg_type

The type of background to be used for subwindows originating from this segment.

Param in_definition_name

the name of a definition to be used in the background. Only relevant if in_bg_type is Image or Cubemap.

Return

A reference to this object.

HPS.SubwindowKit SetBorder (HPS.Subwindow.Border in_border_type)

Controls the type of border, if any, that should be drawn for subwindows originating from this segment. This has no effect when applied to segments without a subwindow present.

Param in_border_type

The type of border, if any, that should be drawn for subwindows originating from this segment.

Return

A reference to this object.

HPS.SubwindowKit SetModelCompareMode (bool in_state)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_state

Toggles compare mode on or off.

Return

A reference to this object.

HPS.SubwindowKit SetModelCompareMode (bool in_state, HPS.SegmentKey in_source1)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_state

Toggles compare mode on or off.

Param in_source1

The first source model.

Return

A reference to this object.

HPS.SubwindowKit SetModelCompareMode (bool in_state, HPS.SegmentKey in_source1, HPS.SegmentKey in_source2)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_state

Toggles compare mode on or off.

Param in_source1

The first source model.

Param in_source2

The second source model.

Return

A reference to this object.

HPS.SubwindowKit SetModelCompareMode (HPS.SegmentKey in_source1, HPS.SegmentKey in_source2)

Sets ‘model compare’ rendering mode which displays a visual diff between the two source segments in this subwindow.

Param in_source1

The first source model.

Param in_source2

The second source model.

Return

A reference to this object.

HPS.SubwindowKit SetRenderingAlgorithm (HPS.Subwindow.RenderingAlgorithm in_hsra)

Determines the algorithm used to remove objects (or parts of objects) that are hidden from view by other objects. This has no effect when applied to segments without a subwindow present.

Param in_hsra

The algorithm used to identify and remove hidden surfaces.

Return

A reference to this object.

HPS.SubwindowKit SetSubwindow (HPS.Rectangle in_subwindow_position)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

Param in_subwindow_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Return

A reference to this object.

HPS.SubwindowKit SetSubwindow (HPS.Rectangle in_subwindow_position, HPS.IntRectangle in_subwindow_offsets)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

Param in_subwindow_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Param in_subwindow_offsets

The pixel-space offsets to apply to each side of the given window position.

Return

A reference to this object.

HPS.SubwindowKit SetSubwindow (HPS.Rectangle in_subwindow_position, HPS.IntRectangle in_subwindow_offsets, HPS.Subwindow.Type in_subwindow_type)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

Param in_subwindow_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Param in_subwindow_offsets

The pixel-space offsets to apply to each side of the given window position.

Param in_subwindow_type

The type of subwindow to create.

Return

A reference to this object.

HPS.SubwindowKit SetSubwindow (HPS.Rectangle in_subwindow_position, HPS.Subwindow.Type in_subwindow_type)

Defines a portion of the containing window to act as a subwindow. Window segments have an implicit subwindow of -1 to 1 in both x and y directions that cannot be changed. Other segments can be constrained to some portion of that space. Most other subwindow-related settings are only relevant if they are applied on a segment that also contains a subwindow.

Param in_subwindow_position

The portion of the containing window that should be reserved for a subwindow. The subwindow is defined in the context of a rectangle extending out a single unit in each direction from the origin. For example, a subwindow rectangle defined as Rectangle(0, 1, -1, 0) would occupy the lower right quarter of the containing window.

Param in_subwindow_type

The type of subwindow to create.

Return

A reference to this object.

void Show (out HPS.SubwindowKit out_kit)

Copies this object into the given SubwindowKit.

Param out_kit

The SubwindowKit to populate with the contents of this object.

bool ShowBackground (out HPS.Subwindow.Background out_bg_type, out string out_definition_name)

Shows the window background setting

Param out_bg_type

The type of background to be used for subwindows originating from this segment.

Param out_definition_name

the name of a definition to be used in the background.

Return

true if the setting is valid, false otherwise.

bool ShowBorder (out HPS.Subwindow.Border out_border_type)

Shows the subwindow border setting

Param out_border_type

The type of border, if any, that should be drawn for subwindows originating from this segment.

Return

true if the setting is valid, false otherwise.

bool ShowModelCompareMode (out bool out_state, out HPS.SegmentKey out_source1, out HPS.SegmentKey out_source2)

Shows the model compare setting.

Param out_state

The model compare enabled state.

Param out_source1

The first source model.

Param out_source2

The second source model.

Return

true if the setting is valid, false otherwise.

bool ShowRenderingAlgorithm (out HPS.Subwindow.RenderingAlgorithm out_hsra)

Shows the rendering algorithm setting.

Param out_hsra

The algorithm used to identify and remove hidden surfaces.

Return

true if the setting is valid, false otherwise.

bool ShowSubwindow (out HPS.Rectangle out_subwindow_position, out HPS.IntRectangle out_subwindow_offsets, out HPS.Subwindow.Type out_subwindow_type)

Shows the subwindow setting.

Param out_subwindow_position

The portion of the containing window that should be reserved for a subwindow.

Param out_subwindow_offsets

The pixel-space offsets being applied to the subwindow position.

Param out_subwindow_type

The type of subwindow to create.

Return

true if the setting is valid, false otherwise.

SubwindowKit ()

Initializes an empty kit.

SubwindowKit (HPS.SubwindowKit in_kit)

Copies the kit in_kit into this kit.

HPS.SubwindowKit UnsetBackground ()

Removes a subwindow background setting.

Return

A reference to this object.

HPS.SubwindowKit UnsetBorder ()

Removes a subwindow border setting.

Return

A reference to this object.

HPS.SubwindowKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.SubwindowKit UnsetModelCompareMode ()

Removes model compare setting.

Return

A reference to this object.

HPS.SubwindowKit UnsetRenderingAlgorithm ()

Removes a rendering algorithm setting.

Return

A reference to this object.

HPS.SubwindowKit UnsetSubwindow ()

Removes a subwindow setting.

Return

A reference to this object.

Public Static Functions

HPS.SubwindowKit GetDefault ()

Creates a SubwindowKit 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 SubwindowKit with the default settings.

class Text : public IDisposable

The Text class is a concept class for text-related enum classes.

Public Types

enum Alignment

Enumeration of the alignments used for text string. These define what the insertion point for a text string is measured with respect to.

Values:

TopLeft

Insertion point is the top left corner of the text string.

CenterLeft

Insertion point is the center of the left side of the text string.

BottomLeft

Insertion point is the bottom left corner of the text string.

TopCenter

Insertion point is the center of the top side of the text string.

Center

Insertion point is the vertical and horizontal center of the text string.

BottomCenter

Insertion point is the center of the bottom side of the text string.

TopRight

Insertion point is the top right corner of the text string.

CenterRight

Insertion point is the center of the right side of the text string.

BottomRight

Insertion point is the bottom right corner of the text string.

enum GreekingMode

Enumerates the greeking modes. These define what to draw in place of characters once they fall below the greeking limit.

Values:

Nothing

Nothing will be drawn for characters below the greeking limit.

Lines

A grid of lines will be drawn in place of characters below the greeking limit.

Box

A filled box will be drawn in place of characters below the greeking limit.

enum GreekingUnits

Enumerates the units for greeking limits.

Values:

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

enum Justification

Enumerates the justifications used for multiline text strings.

Values:

Left

Multiline strings will be left justified.

Right

Multiline strings will be right justified.

Center

Multiline strings will be center justified.

enum LeaderLineSpace

Enumerates the spaces in which leader lines can be defined.

Values:

Object

The leader line position is supplied in Object Space.

World

The leader line position is supplied in World Space.

enum MarginUnits

Enumerates the units for background margins.

Values:

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

Percent

Percentage of the requested font height.

enum Preference

Enumerates the font type preferences for text strings. These define the types of fonts Visualize will use.

Values:

Default

Use the default font type for the current driver.

Vector

Use vector fonts.

Raster

Use raster or bitmap fonts.

Exterior

Use the font outline (characters will be unfilled).

enum ReferenceFrame

Enumeration of the reference frames for text alignment and justification.

Values:

WorldAligned

Alignment and justification will be defined relative to a screen-facing box around the text.

PathAligned

Alignment and justification will be defined relative to a text-path-aligned box around the text.

enum RegionAlignment

Enumerates the alignments for text regions. These define how text strings will be positioned relative to the line defining the text region.

Values:

Top

Text will be drawn below the region line.

Center

Text will be drawn such that the region line passes through its center.

Bottom

Text will be drawn above the region line.

enum RegionFitting

Enumerates how text is arranged within a region.

Values:

Left

Text will be left-justified on the region line.

Center

Text will be centered-justified on the region line.

Right

Text will be right-justified on the region line.

Spacing

Text will be stretched or squeezed to fill the region line and character width will not change (characters may overlap).

Width

Text will be stretched or squeezed to fill the region line and character width will change (narrowing or widening as necessary).

Auto

Text will be stretched or squeezed to fill the region line. This will behave as Width when the text needs to be squeezed, or as Spacing when the text needs to be stretched.

enum Renderer

Enumerates the renderers for text strings. These define the font-handling subsystems Visualize uses to find and render fonts.

Values:

Default

All font-handling subsystems will be used.

Driver

Only driver fonts will be used. If a non-driver font is requested, the stroked font will be used instead.

Truetype

Only TrueType fonts will be used. If a non-TrueType font is requested, the stroked font will be used instead.

enum SizeToleranceUnits

Enumerates the units for size tolerances.

Values:

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

Percent

Percentage of the requested font size defining the lower limit on the smallest font size that can be substituted in the requested’s place.

enum SizeUnits

Enumerates the units for font sizes.

Values:

ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

SubscreenRelative

Fraction of the height of the outermost window.

WindowRelative

Fraction of the height of the local window.

WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

Pixels

Number of pixels.

enum Transform

Enumerates the transform behaviors for text strings. These define how the entire string will be positioned within 3D space.

Values:

Transformable
NonTransformable
CharacterPositionOnly
CharacterPositionAdjusted
NonScalingTransformable
class TextAttributeControl : public HPS.Control

The HPS.TextAttributeControl class is a smart pointer that is tied to a database object. This object gives you access to all the attributes associated with text, such as font, size, and rotation. Text characteristics such as bold, italic, and underline are also accessed through the HPS.TextAttributeControl.

Default values for the various fields of HPS.TextAttributeControl can be found here.

Public Functions

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.

HPS.TextAttributeControl SetAlignment (HPS.Text.Alignment in_align)

Sets the alignment for text.

Return

A reference to this object.

HPS.TextAttributeControl SetAlignment (HPS.Text.Alignment in_align, HPS.Text.ReferenceFrame in_ref)

Sets the alignment for text.

Return

A reference to this object.

HPS.TextAttributeControl SetAlignment (HPS.Text.Alignment in_align, HPS.Text.ReferenceFrame in_ref, HPS.Text.Justification in_justify)

Sets the alignment for text.

Return

A reference to this object.

HPS.TextAttributeControl SetBackground (bool in_state)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Return

A reference to this object.

HPS.TextAttributeControl SetBackground (bool in_state, string in_name)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextAttributeControl SetBackground (string in_name)

Sets the background to be used with text. The state is implicitly on.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextAttributeControl SetBackgroundMargins (float in_size)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Return

A reference to this object.

HPS.TextAttributeControl SetBackgroundMargins (float in_size, HPS.Text.MarginUnits in_units)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextAttributeControl SetBackgroundStyle (string in_name)

Allows specifying a named style to be used in the drawing of text backgrounds. If no style is specified, backgrounds inherit the face and edge attributes from the containing segment.

Param in_name

The name of a style, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.TextAttributeControl SetBold (bool in_state)

Sets whether text should be bold. For fonts which do not have a bold variant, this setting will be ignored.

Param in_state

Whether text should be bold.

Return

A reference to this object.

HPS.TextAttributeControl SetExtraSpace (bool in_state)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add additional space between characters in a text string.

Return

A reference to this object.

HPS.TextAttributeControl SetExtraSpace (bool in_state, float in_size)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add additional space between characters in a text string.

Param in_size

The size of the additional space to add between characters.

Return

A reference to this object.

HPS.TextAttributeControl SetExtraSpace (bool in_state, float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add additional space between characters in a text string.

Param in_size

The size of the additional space to add between characters.

Param in_units

The units of the size of the additional space to add between characters.

Return

A reference to this object.

HPS.TextAttributeControl SetExtraSpace (float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string. This function implicitly enables the addition of extra space.

Param in_size

The size of the additional space to add between characters.

Param in_units

The units of the size of the additional space to add between characters.

Return

A reference to this object.

HPS.TextAttributeControl SetFont (string in_name)

Sets the font to use for text. This must either be a builtin font or a font Visualize can locate in the directories specified by World.SetFontDirectories. If the requested font cannot be found, the stroked font will be used.

See

World.SetFontDirectories

Param in_name

UTF8-encoded font name to use for text.

Return

A reference to this TextKey.

HPS.TextAttributeControl SetGreeking (bool in_state)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Return

A reference to this object.

HPS.TextAttributeControl SetGreeking (bool in_state, float in_size)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Param in_size

The size below which to draw a simple symbol in place of a character.

Return

A reference to this object.

HPS.TextAttributeControl SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Return

A reference to this object.

HPS.TextAttributeControl SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

A reference to this object.

HPS.TextAttributeControl SetGreeking (float in_size)

Sets the greeking settings to use for text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Return

A reference to this object.

HPS.TextAttributeControl SetGreeking (float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Return

A reference to this object.

HPS.TextAttributeControl SetGreeking (float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

A reference to this object.

HPS.TextAttributeControl SetItalic (bool in_state)

Sets whether text should be italic. For fonts which do not have an italic variant, this setting will be ignored.

Param in_state

Whether text should be italic.

Return

A reference to this object.

HPS.TextAttributeControl SetLineSpacing (float in_multiplier)

Sets the line spacing multiplier for text. This is a multiple of the font size that will be used to determine spacing between lines in multi-line text string.

Param in_multiplier

The line spacing multiplier for text.

Return

A reference to this object.

HPS.TextAttributeControl SetOverline (bool in_state)

Sets whether an overline should be drawn over text.

Param in_state

Whether an overline should be drawn over text.

Return

A reference to this object.

HPS.TextAttributeControl SetPath (HPS.Vector in_path)

Sets the path for text. This setting controls the vector along which text strings will be displayed.

Param in_path

The path for text.

Return

A reference to this object.

HPS.TextAttributeControl SetPreference (float in_cutoff, HPS.Text.SizeUnits in_units, HPS.Text.Preference in_smaller, HPS.Text.Preference in_larger)

Sets the preference for text. This setting controls which font type is used for text for “large” and “small” sizes and the cutoff at which this distinction is made.

Param in_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param in_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param in_smaller

The font type preference for strings below the cutoff size.

Param in_larger

The font type preference for strings above the cutoff size.

Return

A reference to this object.

HPS.TextAttributeControl SetPreference (HPS.Text.Preference in_pref)

Sets the font type preference for text. This function implicitly sets the same font type for all text sizes.

Return

A reference to this object.

HPS.TextAttributeControl SetRenderer (HPS.Text.Renderer in_rend)

Sets the renderer for text.

Return

A reference to this object.

HPS.TextAttributeControl SetRotation (float in_angle)

Sets the angle characters should be rotated within text strings. This function implicitly sets a rotation state of Text.Rotation.Rotate.

Param in_angle

The angle in degrees to rotate each character within text strings.

Return

A reference to this object.

HPS.TextAttributeControl SetRotation (HPS.Text.Rotation in_state)

Sets the angle characters should be rotated within text strings.

Param in_state

Whether and how to rotate the characters within text string.

Return

A reference to this object.

HPS.TextAttributeControl SetRotation (HPS.Text.Rotation in_state, float in_angle)

Sets the angle characters should be rotated within text strings.

Param in_state

Whether and how to rotate the characters within text string.

Param in_angle

The angle in degrees to rotate each character within text strings. This is only relevant if in_state is Text.Rotation.Rotate.

Return

A reference to this object.

HPS.TextAttributeControl SetSize (float in_size, HPS.Text.SizeUnits in_units)

Sets the font size to use for text.

Param in_size

The size for text.

Param in_units

The units of the size for text.

Return

A reference to this object.

HPS.TextAttributeControl SetSizeTolerance (bool in_state)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for text.

Return

A reference to this object.

HPS.TextAttributeControl SetSizeTolerance (bool in_state, float in_size)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for text.

Param in_size

The size for the tolerance.

Return

A reference to this object.

HPS.TextAttributeControl SetSizeTolerance (bool in_state, float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for text.

Param in_size

The size for the tolerance.

Param in_units

The units of the size for the tolerance.

Return

A reference to this object.

HPS.TextAttributeControl SetSizeTolerance (float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. This function implicitly enables a size tolerance.

Param in_size

The size for the tolerance.

Param in_units

The units of the size for the tolerance.

Return

A reference to this object.

HPS.TextAttributeControl SetSlant (float in_angle)

Sets the slant angle for text. This determines how far the characters in the string are sheared to the left (negative angle) or right (positive angle) relative to the perpendicular.

Param in_angle

The angle in degrees to slant text. This value must be in the range [-75.0f,+75.0f].

Return

A reference to this object.

HPS.TextAttributeControl SetSpacing (float in_multiplier)

Sets the spacing multiplier for text. This setting controls the spacing between adjacent characters within a string. A value of 0.0f would result in all characters being drawn on top of each other, a value of 1.0f would be the standard spacing between characters, a value of 2.0f would insert twice as much space as would normally be between two characters, and so on.

Param in_multiplier

The spacing multiplier for text.

Return

A reference to this object.

HPS.TextAttributeControl SetStrikethrough (bool in_state)

Sets whether a strikethrough should be drawn through text.

Param in_state

Whether a strikethrough should be drawn through text.

Return

A reference to this object.

HPS.TextAttributeControl SetTransform (HPS.Text.Transform in_trans)

Sets the transform behavior for text.

Return

A reference to this object.

HPS.TextAttributeControl SetUnderline (bool in_state)

Sets whether an underline should be drawn under text.

Param in_state

Whether an underline should be drawn under text.

Return

A reference to this object.

bool ShowAlignment (out HPS.Text.Alignment out_align, out HPS.Text.ReferenceFrame out_ref, out HPS.Text.Justification out_justify)

Shows the alignment for text.

Return

true if an alignment was set, false otherwise.

bool ShowBackground (out bool out_state, out string out_name)

Shows the background to be used with text.

Param out_state

Whether a background is drawn for text.

Param out_name

The name of a shape definition.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundMargins (out float[] out_size, out HPS.Text.MarginUnits[] out_units)

Shows the amount of additional padding around text strings when backgrounds are used.

Param out_size

The size of the margins.

Param out_units

The units of the sizes.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundStyle (out string out_name)

Shows the named style to be used in the drawing of text backgrounds.

Param out_name

The name of a style, defined in a portfolio that is accessible.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBold (out bool out_state)

Shows whether text should be bold.

Param out_state

Whether text should be bold.

Return

true if a bold setting was set, false otherwise.

bool ShowExtraSpace (out bool out_state, out float out_size, out HPS.Text.SizeUnits out_units)

Shows the amount of additional space to add between characters in a text string.

Param out_state

Whether to add additional space between characters in a text string.

Param out_size

The size of the additional space to add between characters.

Param out_units

The units of the size of the additional space to add between characters.

Return

true if an extra space setting was set, false otherwise.

bool ShowFont (out string out_name)

Shows the font to use for text.

Param out_name

UTF8-encoded font name to use for text.

Return

true if a font was set, false otherwise.

bool ShowGreeking (out bool out_state, out float out_size, out HPS.Text.GreekingUnits out_units, out HPS.Text.GreekingMode out_mode)

Shows the greeking settings to use for text.

Param out_state

Whether greeking is enabled for text.

Param out_size

The size below which to draw a simple symbol in place of a character.

Param out_units

The units of the size below which to draw a simple glyph in place of a character.

Param out_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

true if greeking settings were set, false otherwise.

bool ShowItalic (out bool out_state)

Shows whether text should be italic.

Param out_state

Whether text should be italic.

Return

true if an italic setting was set, false otherwise.

bool ShowLineSpacing (out float out_multiplier)

Shows the line spacing multiplier for text.

Param out_multiplier

The line spacing multiplier for text.

Return

true if a line space multiplier was set, false otherwise.

bool ShowOverline (out bool out_state)

Shows whether an overline should be drawn over text.

Param out_state

Whether an overline should be drawn over text.

Return

true if an overline setting was set, false otherwise.

bool ShowPath (out HPS.Vector out_path)

Shows the path for text.

Param out_path

The path for text.

Return

true if a path was set, false otherwise.

bool ShowPreference (out float out_cutoff, out HPS.Text.SizeUnits out_units, out HPS.Text.Preference out_smaller, out HPS.Text.Preference out_larger)

Shows the preference for text.

Param out_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param out_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param out_smaller

The font type preference for strings below the cutoff size.

Param out_larger

The font type preference for strings above the cutoff size.

Return

true if a preference was set, false otherwise.

bool ShowRenderer (out HPS.Text.Renderer out_rend)

Shows the renderer for text.

Return

true if a renderer was set, false otherwise.

bool ShowRotation (out HPS.Text.Rotation out_rot, out float out_angle)

Shows the angle characters should be rotated within text strings.

Param out_rot

Whether to rotate the characters within text strings, and if so, what the angle should be measured with repect to.

Param out_angle

The angle in degrees to rotate each character within text strings.

Return

true if a rotation setting was set, false otherwise.

bool ShowSize (out float out_size, out HPS.Text.SizeUnits out_units)

Shows the font size to use for text.

Param out_size

The size for text.

Param out_units

The units of the size for text.

Return

true if a size was set, false otherwise.

bool ShowSizeTolerance (out bool out_state, out float out_size, out HPS.Text.SizeToleranceUnits out_units)

Shows the size tolerance settings to use for text.

Param out_state

Whether a size tolerance is enabled for text.

Param out_size

The size for the tolerance.

Param out_units

The units of the size for the tolerance.

Return

true if a size tolerance was set, false otherwise.

bool ShowSlant (out float out_angle)

Shows the slant angle for text.

Param out_angle

The angle in degrees to slant text.

Return

true if a slang angle was set, false otherwise.

bool ShowSpacing (out float out_multiplier)

Shows the spacing multiplier for text.

Param out_multiplier

The spacing multiplier for text.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowStrikethrough (out bool out_state)

Shows whether a strikethrough should be drawn through text.

Param out_state

Whether a strikethrough should be drawn through text.

Return

true if a strikethrough setting was set, false otherwise.

bool ShowTransform (out HPS.Text.Transform out_trans)

Shows the transform state for text.

Return

true if a transform state was set, false otherwise.

bool ShowUnderline (out bool out_state)

Shows whether an underline should be drawn under text.

Param out_state

Whether an underline should be drawn under text.

Return

true if an underline setting was set, false otherwise.

TextAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

TextAttributeControl (HPS.TextAttributeControl in_that)

Initializes a control tied to the same object as in_that.

HPS.TextAttributeControl UnsetAlignment ()

Removes the alignment setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetBackground ()

Removes the background setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetBackgroundMargins ()

Removes the background margin setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetBackgroundStyle ()

Removes the background style setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetBold ()

Removes the bold setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetExtraSpace ()

Removes the extra space setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetFont ()

Removes the font setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetGreeking ()

Removes the greeking setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetItalic ()

Removes the italic setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetLineSpacing ()

Removes the line spacing setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetOverline ()

Removes the overline setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetPath ()

Removes the path setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetPreference ()

Removes the preference setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetRenderer ()

Removes the renderer setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetRotation ()

Removes the rotation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetSize ()

Removes the size setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetSizeTolerance ()

Removes the size tolerance setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetSlant ()

Removes the slant setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetSpacing ()

Removes the spacing setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetStrikethrough ()

Removes the strikethrough setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetTransform ()

Removes the transform setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

HPS.TextAttributeControl UnsetUnderline ()

Removes the underline setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TextAttributeKit.GetDefault().

Return

A reference to this object.

class TextAttributeKit : public HPS.Kit

The HPS.TextAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.TextAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.TextAttributeKit in_kit)

Check if the source TextAttributeKit is equivalent to this object.

Param in_kit

The source TextAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source TextAttributeKit into this object.

Param in_kit

The source TextAttributeKit to copy.

HPS.TextAttributeKit SetAlignment (HPS.Text.Alignment in_align)

Sets the alignment for text.

Return

A reference to this object.

HPS.TextAttributeKit SetAlignment (HPS.Text.Alignment in_align, HPS.Text.ReferenceFrame in_ref)

Sets the alignment for text.

Return

A reference to this object.

HPS.TextAttributeKit SetAlignment (HPS.Text.Alignment in_align, HPS.Text.ReferenceFrame in_ref, HPS.Text.Justification in_justify)

Sets the alignment for text.

Return

A reference to this object.

HPS.TextAttributeKit SetBackground (bool in_state)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Return

A reference to this object.

HPS.TextAttributeKit SetBackground (bool in_state, string in_name)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextAttributeKit SetBackground (string in_name)

Sets the background to be used with text. The state is implicitly on.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextAttributeKit SetBackgroundMargins (float in_size)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Return

A reference to this object.

HPS.TextAttributeKit SetBackgroundMargins (float in_size, HPS.Text.MarginUnits in_units)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextAttributeKit SetBackgroundMargins (float[] in_sizes, HPS.Text.MarginUnits[] in_units)

Sets the amount of additional padding around text strings when backgrounds are used. Additional margin values can also be referenced within definitions of background shapes and leader lines.

Param in_sizes

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextAttributeKit SetBackgroundStyle (string in_name)

Allows specifying a named style to be used in the drawing of text backgrounds. If no style is specified, backgrounds inherit the face and edge attributes from the containing segment.

Param in_name

The name of a style, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.TextAttributeKit SetBold (bool in_state)

Sets whether text should be bold. For fonts which do not have a bold variant, this setting will be ignored.

Param in_state

Whether text should be bold.

Return

A reference to this object.

HPS.TextAttributeKit SetExtraSpace (bool in_state)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add additional space between characters in a text string.

Return

A reference to this object.

HPS.TextAttributeKit SetExtraSpace (bool in_state, float in_size)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add additional space between characters in a text string.

Param in_size

The size of the additional space to add between characters.

Return

A reference to this object.

HPS.TextAttributeKit SetExtraSpace (bool in_state, float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add additional space between characters in a text string.

Param in_size

The size of the additional space to add between characters.

Param in_units

The units of the size of the additional space to add between characters.

Return

A reference to this object.

HPS.TextAttributeKit SetExtraSpace (float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string. This function implicitly enables the addition of extra space.

Param in_size

The size of the additional space to add between characters.

Param in_units

The units of the size of the additional space to add between characters.

Return

A reference to this object.

HPS.TextAttributeKit SetFont (string in_name)

Sets the font to use for text. This must either be a builtin font or a font Visualize can locate in the directories specified by World.SetFontDirectories. If the requested font cannot be found, the stroked font will be used.

See

World.SetFontDirectories

Param in_name

UTF8-encoded font name to use for text.

Return

A reference to this TextKey.

HPS.TextAttributeKit SetGreeking (bool in_state)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Return

A reference to this object.

HPS.TextAttributeKit SetGreeking (bool in_state, float in_size)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Param in_size

The size below which to draw a simple symbol in place of a character.

Return

A reference to this object.

HPS.TextAttributeKit SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Return

A reference to this object.

HPS.TextAttributeKit SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for text.

Param in_state

Whether greeking is enabled for text.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

A reference to this object.

HPS.TextAttributeKit SetGreeking (float in_size)

Sets the greeking settings to use for text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Return

A reference to this object.

HPS.TextAttributeKit SetGreeking (float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Return

A reference to this object.

HPS.TextAttributeKit SetGreeking (float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

A reference to this object.

HPS.TextAttributeKit SetItalic (bool in_state)

Sets whether text should be italic. For fonts which do not have an italic variant, this setting will be ignored.

Param in_state

Whether text should be italic.

Return

A reference to this object.

HPS.TextAttributeKit SetLineSpacing (float in_multiplier)

Sets the line spacing multiplier for text. This is a multiple of the font size that will be used to determine spacing between lines in multi-line text string.

Param in_multiplier

The line spacing multiplier for text.

Return

A reference to this object.

HPS.TextAttributeKit SetOverline (bool in_state)

Sets whether an overline should be drawn over text.

Param in_state

Whether an overline should be drawn over text.

Return

A reference to this object.

HPS.TextAttributeKit SetPath (HPS.Vector in_path)

Sets the path for text. This setting controls the vector along which text strings will be displayed.

Param in_path

The path for text.

Return

A reference to this object.

HPS.TextAttributeKit SetPreference (float in_cutoff, HPS.Text.SizeUnits in_units, HPS.Text.Preference in_smaller, HPS.Text.Preference in_larger)

Sets the preference for text. This setting controls which font type is used for text for “large” and “small” sizes and the cutoff at which this distinction is made.

Param in_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param in_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param in_smaller

The font type preference for strings below the cutoff size.

Param in_larger

The font type preference for strings above the cutoff size.

Return

A reference to this object.

HPS.TextAttributeKit SetPreference (HPS.Text.Preference in_pref)

Sets the font type preference for text. This function implicitly sets the same font type for all text sizes.

Return

A reference to this object.

HPS.TextAttributeKit SetRenderer (HPS.Text.Renderer in_rend)

Sets the renderer for text.

Return

A reference to this object.

HPS.TextAttributeKit SetRotation (float in_angle)

Sets the angle characters should be rotated within text strings. To rotate the text as a block (instead of each individual character) use SetPath with SetRotation(HPS.Text.Rotation.FollowPath), or use a modelling matrix rotation. This function implicitly sets a rotation state of Text.Rotation.Rotate.

Param in_angle

The angle in degrees to rotate each character within text strings.

Return

A reference to this object.

HPS.TextAttributeKit SetRotation (HPS.Text.Rotation in_state)

Sets the angle characters should be rotated within text strings. To rotate the text as a block (instead of each individual character) use SetPath with SetRotation(HPS.Text.Rotation.FollowPath), or use a modelling matrix rotation.

Param in_state

Whether and how to rotate the characters within text string.

Return

A reference to this object.

HPS.TextAttributeKit SetRotation (HPS.Text.Rotation in_state, float in_angle)

Sets the angle characters should be rotated within text strings. To rotate the text as a block (instead of each individual character) use SetPath with SetRotation(HPS.Text.Rotation.FollowPath), or use a modelling matrix rotation.

Param in_state

Whether and how to rotate the characters within text string.

Param in_angle

The angle in degrees to rotate each character within text strings. This is only relevant if in_state is Text.Rotation.Rotate.

Return

A reference to this object.

HPS.TextAttributeKit SetSize (float in_size, HPS.Text.SizeUnits in_units)

Sets the font size to use for text.

Param in_size

The size for text.

Param in_units

The units of the size for text.

Return

A reference to this object.

HPS.TextAttributeKit SetSizeTolerance (bool in_state)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for text.

Return

A reference to this object.

HPS.TextAttributeKit SetSizeTolerance (bool in_state, float in_size)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for text.

Param in_size

The size for the tolerance.

Return

A reference to this object.

HPS.TextAttributeKit SetSizeTolerance (bool in_state, float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for text.

Param in_size

The size for the tolerance.

Param in_units

The units of the size for the tolerance.

Return

A reference to this object.

HPS.TextAttributeKit SetSizeTolerance (float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. This function implicitly enables a size tolerance.

Param in_size

The size for the tolerance.

Param in_units

The units of the size for the tolerance.

Return

A reference to this object.

HPS.TextAttributeKit SetSlant (float in_angle)

Sets the slant angle for text. This determines how far the characters in the string are sheared to the left (negative angle) or right (positive angle) relative to the perpendicular.

Param in_angle

The angle in degrees to slant text. This value must be in the range [-75.0f,+75.0f].

Return

A reference to this object.

HPS.TextAttributeKit SetSpacing (float in_multiplier)

Sets the spacing multiplier for text. This setting controls the spacing between adjacent characters within a string. A value of 0.0f would result in all characters being drawn on top of each other, a value of 1.0f would be the standard spacing between characters, a value of 2.0f would insert twice as much space as would normally be between two characters, and so on.

Param in_multiplier

The spacing multiplier for text.

Return

A reference to this object.

HPS.TextAttributeKit SetStrikethrough (bool in_state)

Sets whether a strikethrough should be drawn through text.

Param in_state

Whether a strikethrough should be drawn through text.

Return

A reference to this object.

HPS.TextAttributeKit SetTransform (HPS.Text.Transform in_trans)

Sets the transform behavior for text.

Return

A reference to this object.

HPS.TextAttributeKit SetUnderline (bool in_state)

Sets whether an underline should be drawn under text.

Param in_state

Whether an underline should be drawn under text.

Return

A reference to this object.

void Show (out HPS.TextAttributeKit out_kit)

Copies all settings from this TextAttributeKit into the given TextAttributeKit.

Param out_kit

The TextAttributeKit to populate with the contents of this object.

bool ShowAlignment (out HPS.Text.Alignment out_align, out HPS.Text.ReferenceFrame out_ref, out HPS.Text.Justification out_justify)

Shows the alignment for text.

Return

true if an alignment was set, false otherwise.

bool ShowBackground (out bool out_state, out string out_name)

Shows the background to be used with text.

Param out_state

Whether a background is drawn for text.

Param out_name

The name of a shape definition.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundMargins (out float[] out_size, out HPS.Text.MarginUnits[] out_units)

Shows the amount of additional padding around text strings when backgrounds are used.

Param out_size

The size of the margins.

Param out_units

The units of the sizes.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundStyle (out string out_name)

Shows the named style to be used in the drawing of text backgrounds.

Param out_name

The name of a style, defined in a portfolio that is accessible.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBold (out bool out_state)

Shows whether text should be bold.

Param out_state

Whether text should be bold.

Return

true if a bold setting was set, false otherwise.

bool ShowExtraSpace (out bool out_state, out float out_size, out HPS.Text.SizeUnits out_units)

Shows the amount of additional space to add between characters in a text string.

Param out_state

Whether to add additional space between characters in a text string.

Param out_size

The size of the additional space to add between characters.

Param out_units

The units of the size of the additional space to add between characters.

Return

true if an extra space setting was set, false otherwise.

bool ShowFont (out string out_name)

Shows the font to use for text.

Param out_name

UTF8-encoded font name to use for text.

Return

true if a font was set, false otherwise.

bool ShowGreeking (out bool out_state, out float out_size, out HPS.Text.GreekingUnits out_units, out HPS.Text.GreekingMode out_mode)

Shows the greeking settings to use for text.

Param out_state

Whether greeking is enabled for text.

Param out_size

The size below which to draw a simple symbol in place of a character.

Param out_units

The units of the size below which to draw a simple glyph in place of a character.

Param out_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

true if greeking settings were set, false otherwise.

bool ShowItalic (out bool out_state)

Shows whether text should be italic.

Param out_state

Whether text should be italic.

Return

true if an italic setting was set, false otherwise.

bool ShowLineSpacing (out float out_multiplier)

Shows the line spacing multiplier for text.

Param out_multiplier

The line spacing multiplier for text.

Return

true if a line space multiplier was set, false otherwise.

bool ShowOverline (out bool out_state)

Shows whether an overline should be drawn over text.

Param out_state

Whether an overline should be drawn over text.

Return

true if an overline setting was set, false otherwise.

bool ShowPath (out HPS.Vector out_path)

Shows the path for text.

Param out_path

The path for text.

Return

true if a path was set, false otherwise.

bool ShowPreference (out float out_cutoff, out HPS.Text.SizeUnits out_units, out HPS.Text.Preference out_smaller, out HPS.Text.Preference out_larger)

Shows the preference for text.

Param out_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param out_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param out_smaller

The font type preference for strings below the cutoff size.

Param out_larger

The font type preference for strings above the cutoff size.

Return

true if a preference was set, false otherwise.

bool ShowRenderer (out HPS.Text.Renderer out_rend)

Shows the renderer for text.

Return

true if a renderer was set, false otherwise.

bool ShowRotation (out HPS.Text.Rotation out_rot, out float out_angle)

Shows the angle characters should be rotated within text strings.

Param out_rot

Whether to rotate the characters within text strings, and if so, what the angle should be measured with repect to.

Param out_angle

The angle in degrees to rotate each character within text strings.

Return

true if a rotation setting was set, false otherwise.

bool ShowSize (out float out_size, out HPS.Text.SizeUnits out_units)

Shows the font size to use for text.

Param out_size

The size for text.

Param out_units

The units of the size for text.

Return

true if a size was set, false otherwise.

bool ShowSizeTolerance (out bool out_state, out float out_size, out HPS.Text.SizeToleranceUnits out_units)

Shows the size tolerance settings to use for text.

Param out_state

Whether a size tolerance is enabled for text.

Param out_size

The size for the tolerance.

Param out_units

The units of the size for the tolerance.

Return

true if a size tolerance was set, false otherwise.

bool ShowSlant (out float out_angle)

Shows the slant angle for text.

Param out_angle

The angle in degrees to slant text.

Return

true if a slang angle was set, false otherwise.

bool ShowSpacing (out float out_multiplier)

Shows the spacing multiplier for text.

Param out_multiplier

The spacing multiplier for text.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowStrikethrough (out bool out_state)

Shows whether a strikethrough should be drawn through text.

Param out_state

Whether a strikethrough should be drawn through text.

Return

true if a strikethrough setting was set, false otherwise.

bool ShowTransform (out HPS.Text.Transform out_trans)

Shows the transform state for text.

Return

true if a transform state was set, false otherwise.

bool ShowUnderline (out bool out_state)

Shows whether an underline should be drawn under text.

Param out_state

Whether an underline should be drawn under text.

Return

true if an underline setting was set, false otherwise.

TextAttributeKit ()

Initializes an empty kit.

TextAttributeKit (HPS.TextAttributeKit in_kit)

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

Param in_kit

The source object to copy.

HPS.TextAttributeKit UnsetAlignment ()

Removes the alignment setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetBackground ()

Removes the background setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetBackgroundMargins ()

Removes the background margin setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetBackgroundStyle ()

Removes the background style setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetBold ()

Removes the bold setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.TextAttributeKit UnsetExtraSpace ()

Removes the extra space setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetFont ()

Removes the font setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetGreeking ()

Removes the greeking setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetItalic ()

Removes the italic setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetLineSpacing ()

Removes the line spacing setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetOverline ()

Removes the overline setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetPath ()

Removes the path setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetPreference ()

Removes the preference setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetRenderer ()

Removes the renderer setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetRotation ()

Removes the rotation setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetSize ()

Removes the size setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetSizeTolerance ()

Removes the size tolerance setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetSlant ()

Removes the slant setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetSpacing ()

Removes the spacing setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetStrikethrough ()

Removes the strikethrough setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetTransform ()

Removes the transform setting.

Return

A reference to this object.

HPS.TextAttributeKit UnsetUnderline ()

Removes the underline setting.

Return

A reference to this object.

Public Static Functions

HPS.TextAttributeKit GetDefault ()

Creates a TextAttributeKit 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 TextAttributeKit with the default settings.

class TextInputEvent : public HPS.Event

The TextInputEvent class is the event that is generated when an application receives text input

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this TextInputEvent.

Return

A copy of this TextInputEvent.

bool Equals (HPS.TextInputEvent in_that)

Check if the source object is equivalent to this object.

Return

true if the objects are equivalent, false otherwise.

TextInputEvent ()

The default constructor creates a TextInputEvent.

TextInputEvent (HPS.Event in_event)

This constructor converts an EventObject to a TextInputEvent object.

Param in_event

The EventObject to be converted.

TextInputEvent (string in_text)

This constructor creates a TextInputEvent object for a given text string.

Param in_text

Text associated to this TextInputEvent.

class TextKey : public HPS.GeometryKey

The TextKey class is a smart pointer to a database object. It is a handle to text inserted via SegmentKey.InsertText.

Public Functions

void Consume (HPS.TextKit in_kit)

Completely replaces all settings on this TextKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this TextKey.

HPS.TextKey EditTextByDeletion (ulong in_row, ulong in_column, ulong in_count)

Removes characters from the text at the specified offset.

Param in_row

The row offset into a multiline text string. This value must be less than the number of lines in the text string.

Param in_column

The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.

Param in_count

The number of Unicode code points within the given text string to remove.

Return

A reference to this TextKey.

HPS.TextKey EditTextByInsertion (ulong in_row, ulong in_column, ulong in_count, string in_text)

Adds characters to the text at the specified offset.

Param in_row

The row offset into a multiline text string. This value must be less than the number of lines in the text string.

Param in_column

The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.

Param in_count

The number of Unicode code points within the given text string to insert into the text.

Param in_text

UTF8-encoded text to insert into the text. This must contain at least in_count Unicode code points.

Return

A reference to this TextKey.

HPS.TextKey EditTextByReplacement (ulong in_row, ulong in_column, ulong in_count, string in_text)

Replaces characters from the text at the specified offset.

Param in_row

The row offset into a multiline text string. This value must be less than the number of lines in the text string.

Param in_column

The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.

Param in_count

The number of Unicode code points within the given text string to remove.

Param in_text

UTF8-encoded text to perform replacement with. This must contain at least in_count Unicode code points.

Return

A reference to this TextKey.

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

Replace those settings on this TextKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this TextKey.

HPS.TextKey SetAlignment (HPS.Text.Alignment in_alignment)

Sets the alignment for the text. No aligment is set on the text by default.

Param in_alignment

The alignment for the text.

Return

A reference to this TextKey.

HPS.TextKey SetAlignment (HPS.Text.Alignment in_alignment, HPS.Text.ReferenceFrame in_reference_frame)

Sets the alignment for the text. No aligment is set on the text by default.

Param in_alignment

The alignment for the text.

Param in_reference_frame

The reference frame for the text. Defaults to Text.ReferenceFrame.WorldAligned.

Return

A reference to this TextKey.

HPS.TextKey SetAlignment (HPS.Text.Alignment in_alignment, HPS.Text.ReferenceFrame in_reference_frame, HPS.Text.Justification in_justification)

Sets the alignment for the text. No aligment is set on the text by default.

Param in_alignment

The alignment for the text.

Param in_reference_frame

The reference frame for the text. Defaults to Text.ReferenceFrame.WorldAligned.

Param in_justification

The justification for the text. Defaults to Text.Justification.Left.

Return

A reference to this TextKey.

HPS.TextKey SetBackground (bool in_state)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Return

A reference to this object.

HPS.TextKey SetBackground (bool in_state, string in_name)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextKey SetBackground (string in_name)

Sets the background to be used with text. The state is implicitly on.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextKey SetBackgroundMargins (float in_size)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Return

A reference to this object.

HPS.TextKey SetBackgroundMargins (float in_size, HPS.Text.MarginUnits in_units)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextKey SetBackgroundMargins (float[] in_sizes, HPS.Text.MarginUnits[] in_units)

Sets the amount of additional padding around text strings when backgrounds are used. Additional margin values can also be referenced within definitions of background shapes and leader lines.

Param in_sizes

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextKey SetBackgroundStyle (string in_name)

Allows specifying a named style to be used in the drawing of text backgrounds. If no style is specified, backgrounds inherit the face and edge attributes from the containing segment.

Param in_name

The name of a style, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.TextKey SetBold (bool in_state)

Sets whether the text should be bold. For fonts which do not have a bold variant, this setting will be ignored. No bold setting is set on the text by default.

Param in_state

Whether the text should be bold.

Return

A reference to this TextKey.

HPS.TextKey SetColor (HPS.RGBAColor in_rgba_color)

Sets the RGBA color of the text. No color is set on the text by default. If the color set is opaque, an RGBColor will be set instead to improve rendering performance.

Param in_rgba_color

The RGBA color of the text.

Return

A reference to this TextKey.

HPS.TextKey SetColorByIndex (float in_index)

Sets the material index color for the text. No color is set on the text by default.

Param in_index

The material index color for the text.

Return

A reference to this TextKey.

HPS.TextKey SetExtraSpace (bool in_state)

Sets the amount of additional space to add between characters in a text string. No extra space is set on the text by default.

Param in_state

Whether to add additional space between characters in a text string.

Return

A reference to this TextKey.

HPS.TextKey SetExtraSpace (bool in_state, float in_size)

Sets the amount of additional space to add between characters in a text string. No extra space is set on the text by default.

Param in_state

Whether to add additional space between characters in a text string.

Param in_size

The size of the additional space to add between characters. Defaults to 0.0f.

Return

A reference to this TextKey.

HPS.TextKey SetExtraSpace (bool in_state, float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string. No extra space is set on the text by default.

Param in_state

Whether to add additional space between characters in a text string.

Param in_size

The size of the additional space to add between characters. Defaults to 0.0f.

Param in_units

The units of the size of the additional space to add between characters. Defaults to Text.SizeUnits.ObjectSpace.

Return

A reference to this TextKey.

HPS.TextKey SetExtraSpace (float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string. This function implicitly enables the addition of extra space. No extra space is set on the text by default.

Param in_size

The size of the additional space to add between characters.

Param in_units

The units of the size of the additional space to add between characters.

Return

A reference to this TextKey.

HPS.TextKey SetFont (string in_name)

Sets the font to use for the text. This must either be a builtin font or a font Visualize can locate in the directories specified by World.SetFontDirectories. If the requested font cannot be found, the stroked font will be used. No font is set on the text by default.

See

World.SetFontDirectories

Param in_name

UTF8-encoded font name to use for the text.

Return

A reference to this TextKey.

HPS.TextKey SetGreeking (bool in_state)

Sets the greeking settings to use for the text. No greeking settings are set on the text by default.

Param in_state

Whether greeking is enabled for this text.

Return

A reference to this TextKey.

HPS.TextKey SetGreeking (bool in_state, float in_size)

Sets the greeking settings to use for the text. No greeking settings are set on the text by default.

Param in_state

Whether greeking is enabled for this text.

Param in_size

The size below which to draw a simple symbol in place of a character. Defaults to 0.0f.

Return

A reference to this TextKey.

HPS.TextKey SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for the text. No greeking settings are set on the text by default.

Param in_state

Whether greeking is enabled for this text.

Param in_size

The size below which to draw a simple symbol in place of a character. Defaults to 0.0f.

Param in_units

The units of the size below which to draw a simple glyph in place of a character. Defaults to Text.GreekingUnits.ObjectSpace.

Return

A reference to this TextKey.

HPS.TextKey SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for the text. No greeking settings are set on the text by default.

Param in_state

Whether greeking is enabled for this text.

Param in_size

The size below which to draw a simple symbol in place of a character. Defaults to 0.0f.

Param in_units

The units of the size below which to draw a simple glyph in place of a character. Defaults to Text.GreekingUnits.ObjectSpace.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text.GreekingMode.Lines.

Return

A reference to this TextKey.

HPS.TextKey SetGreeking (float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for the text. This function implicitly enables text greeking. No greeking settings are set on the text by default.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Return

A reference to this TextKey.

HPS.TextKey SetGreeking (float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for the text. This function implicitly enables text greeking. No greeking settings are set on the text by default.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text.Gree.Lines.

Return

A reference to this TextKey.

HPS.TextKey SetItalic (bool in_state)

Sets whether the text should be italic. For fonts which do not have an italic variant, this setting will be ignored. No italic setting is set on the text by default.

Param in_state

Whether the text should be italic.

Return

A reference to this TextKey.

HPS.TextKey SetLeaderLine (HPS.Point in_position)

Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically.

Param in_position

the target position of the leader line.

Return

A reference to this object.

HPS.TextKey SetLeaderLine (HPS.Point in_position, HPS.Text.LeaderLineSpace in_space)

Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically.

Param in_position

the target position of the leader line.

Param in_space

the coordinate space in which in_position is specified.

Return

A reference to this object.

HPS.TextKey SetLeaderLines (HPS.Point[] in_positions)

Inserts leader lines for this text.

Param in_positions

the target positions of the leader lines.

Return

A reference to this object.

HPS.TextKey SetLeaderLines (HPS.Point[] in_positions, HPS.Text.LeaderLineSpace in_space)

Inserts leader lines for this text.

Param in_positions

the target positions of the leader lines.

Param in_space

the coordinate space in which in_positions is specified.

Return

A reference to this object.

HPS.TextKey SetLineSpacing (float in_multiplier)

Sets the line spacing multiplier for the text. This is a multiple of the font size that will be used to determine spacing between lines in multi-line text string. No line spacing is set on the text by default.

Param in_multiplier

The line spacing multiplier for the text.

Return

A reference to this TextKey.

HPS.TextKey SetModellingMatrix (HPS.MatrixKit in_matrix)

Sets the modelling matrix for the text. No modelling matrix is set on the text by default.

Param in_matrix

The modelling matrix for the text.

Return

A reference to this TextKey.

HPS.TextKey SetOverline (bool in_state)

Sets whether an overline should be drawn over the text. No overline setting is set on the text by default.

Param in_state

Whether an overline should be drawn over the text.

Return

A reference to this TextKey.

HPS.TextKey SetPath (HPS.Vector in_path)

Sets the path for the text. This setting controls the vector along which a text string will be displayed. No path is set on the text by default.

See

SetRegion

Param in_path

The path for the text.

Return

A reference to this TextKey.

HPS.TextKey SetPosition (HPS.Point in_position)

Repositions the text in object space. The object-space position for the text.

Return

A reference to this TextKey.

HPS.TextKey SetPreference (float in_cutoff, HPS.Text.SizeUnits in_units, HPS.Text.Preference in_smaller, HPS.Text.Preference in_larger)

Sets the preference for the text. This setting controls which font type is used for the text for “large” and “small” sizes and the cutoff at which this distinction is made. No preference is set on the text by default.

Param in_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param in_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param in_smaller

The font type preference for strings below the cutoff size.

Param in_larger

The font type preference for strings above the cutoff size.

Return

A reference to this TextKey.

HPS.TextKey SetPreference (HPS.Text.Preference in_preference)

Sets the font type preference for the text. This function implicitly sets the same font type for all text sizes. No preference is set on the text by default.

Param in_preference

The font type preference for the text.

Return

A reference to this TextKey.

HPS.TextKey SetRegion (HPS.Point[] in_region, HPS.Text.RegionAlignment in_region_alignment, HPS.Text.RegionFitting in_region_fitting, bool in_region_adjust_direction, bool in_region_relative_coordinates, bool in_region_window_space)

Sets the region for the text. This setting forces the text to be rendererd along the vector defined by two object space points. A region additionally allows control over if text should be evenly spaced between those points, or allowed to grow or shrink to avoid stretching or overlapping characters. No region is set on the text by default.

See

SetPath

Param in_region

The points defining the region for the text. This array must be of size 2 or 3. A two point region defines an implicit up vector which is rotated 90 degrees counter-clockwise from the region line. A three point region uses the first two points as the region line and the third point defines the plane in which a vector perpendicular to the region line will be computed for use as the up vector.

Param in_region_alignment

How the text will be positioned relative to the region line.

Param in_region_fitting

How the text is organized within the region.

Param in_region_adjust_direction

Whether to draw text such that it is readable regardless of camera location.

Param in_region_relative_coordinates

Whether the points defining the region are relative to the insertion point for the text.

Param in_region_window_space

Whether the points defining the region are in window space coordinates.

Return

A reference to this TextKey.

HPS.TextKey SetRenderer (HPS.Text.Renderer in_renderer)

Sets the renderer for the text. No renderer is set on the text by default.

Param in_renderer

The renderer for the text.

Return

A reference to this TextKey.

HPS.TextKey SetRotation (float in_angle)

Sets the angle characters should be rotated within the text string. This function implicitly sets a rotation state of Text.Rotation.Rotate. No rotation is set on the text by default.

Param in_angle

The angle in degrees to rotate each character within the text string.

Return

A reference to this TextKey.

HPS.TextKey SetRotation (HPS.Text.Rotation in_state)

Sets the angle characters should be rotated within the text string. No rotation is set on the text by default.

Param in_state

Whether and how to rotate the characters within the text string.

Return

A reference to this TextKey.

HPS.TextKey SetRotation (HPS.Text.Rotation in_state, float in_angle)

Sets the angle characters should be rotated within the text string. No rotation is set on the text by default.

Param in_state

Whether and how to rotate the characters within the text string.

Param in_angle

The angle in degrees to rotate each character within the text string. This is only relevant if in_state is Text.Rotation.Rotate. Defaults to 0.0f.

Return

A reference to this TextKey.

HPS.TextKey SetSize (float in_size, HPS.Text.SizeUnits in_units)

Sets the font size to use for the text. No size is set on the text by default.

Param in_size

The size for the text.

Param in_units

The units of the size for the text.

Return

A reference to this TextKey.

HPS.TextKey SetSizeTolerance (bool in_state)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. No size tolerance is set on the text by default.

Param in_state

Whether a size tolerance is enabled for this text.

Return

A reference to this TextKey.

HPS.TextKey SetSizeTolerance (bool in_state, float in_size)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. No size tolerance is set on the text by default.

Param in_state

Whether a size tolerance is enabled for this text.

Param in_size

The size for the tolerance. Defaults to 50.0f.

Return

A reference to this TextKey.

HPS.TextKey SetSizeTolerance (bool in_state, float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. No size tolerance is set on the text by default.

Param in_state

Whether a size tolerance is enabled for this text.

Param in_size

The size for the tolerance. Defaults to 50.0f.

Param in_units

The units of the size for the tolerance. Defaults to Text.SizeToleranceUnits.Percent.

Return

A reference to this TextKey.

HPS.TextKey SetSizeTolerance (float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. This function implicitly enables a size tolerance. No size tolerance is set on the text by default.

Param in_size

The size for the tolerance.

Param in_units

The units of the size for the tolerance.

Return

A reference to this TextKey.

HPS.TextKey SetSlant (float in_angle)

Sets the slant angle for the text. This determines how far the characters in the string are sheared to the left (negative angle) or right (positive angle) relative to the perpendicular. No slant angle is set on the text by default.

Param in_angle

The angle in degrees to slant the text. This value must be in the range [-75.0f,+75.0f].

Return

A reference to this TextKey.

HPS.TextKey SetSpacing (float in_multiplier)

Sets the spacing multiplier for the text. This setting controls the spacing between adjacent characters within a string. A value of 0.0f would result in all characters being drawn on top of each other, a value of 1.0f would be the standard spacing between characters, a value of 2.0f would insert twice as much space as would normally be between two characters, and so on.

Param in_multiplier

The spacing multiplier for the text.

Return

A reference to this TextKey.

HPS.TextKey SetStrikethrough (bool in_state)

Sets whether a strikethrough should be drawn through the text. No strikethrough setting is set on the text by default.

Param in_state

Whether a strikethrough should be drawn through the text.

Return

A reference to this TextKey.

HPS.TextKey SetText (string in_string)

Replaces the contents of the string for the text.

Param in_string

UTF8-encoded string for the text.

Return

A reference to this TextKey.

HPS.TextKey SetTextAttribute (HPS.TextAttributeKit in_kit)

Sets the text attributes designated by in_kit on this TextKey.

Param in_kit

The attribute kit from which to get the attributes for this TextKey.

HPS.TextKey SetTransform (HPS.Text.Transform in_transform)

Sets the transform state for the text. No transform state is set on the text by default.

Param in_transform

The transform state for the text.

Return

A reference to this TextKey.

HPS.TextKey SetUnderline (bool in_state)

Sets whether an underline should be drawn under the text. No underline setting is set on the text by default.

Param in_state

Whether an underline should be drawn under the text.

Return

A reference to this TextKey.

void Show (out HPS.TextKit out_kit)

Copy the contents of this TextKey into the specified kit.

Param out_kit

The kit to populate with the contents of this TextKey.

bool ShowAlignment (out HPS.Text.Alignment out_alignment, out HPS.Text.ReferenceFrame out_reference_frame, out HPS.Text.Justification out_justification)

Shows the alignment for the text.

Param out_alignment

The alignment for the text.

Param out_reference_frame

The reference frame for the text.

Param out_justification

The justification for the text.

Return

true if an alignment was set, false otherwise.

bool ShowBackground (out bool out_state, out string out_name)

Shows the background to be used with text.

Param out_state

Whether a background is drawn for text.

Param out_name

The name of a shape definition.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundMargins (out float[] out_size, out HPS.Text.MarginUnits[] out_units)

Shows the amount of additional padding around text strings when backgrounds are used.

Param out_size

The size of the margins.

Param out_units

The units of the sizes.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundStyle (out string out_name)

Shows the named style to be used in the drawing of text backgrounds.

Param out_name

The name of a style, defined in a portfolio that is accessible.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBold (out bool out_state)

Shows whether the text should be bold.

Param out_state

Whether the text should be bold.

Return

true if a bold setting was set, false otherwise.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_index)

Shows the color for the text.

Param out_type

The type of color for the text.

Param out_rgba_color

The RGBA color for the text. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for the text. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

bool ShowExtraSpace (out bool out_state, out float out_size, out HPS.Text.SizeUnits out_units)

Shows the amount of additional space to add between characters in a text string.

Param out_state

Whether to add additional space between characters in a text string.

Param out_size

The size of the additional space to add between characters.

Param out_units

The units of the size of the additional space to add between characters.

Return

true if an extra space setting was set, false otherwise.

bool ShowFont (out string out_name)

Shows the font to use for the text.

Param out_name

UTF8-encoded font name to use for the text.

Return

true if a font was set, false otherwise.

bool ShowGreeking (out bool out_state, out float out_size, out HPS.Text.GreekingUnits out_units, out HPS.Text.GreekingMode out_mode)

Shows the greeking settings to use for the text.

Param out_state

Whether greeking is enabled for this text.

Param out_size

The size below which to draw a simple symbol in place of a character.

Param out_units

The units of the size below which to draw a simple glyph in place of a character.

Param out_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

true if greeking settings were set, false otherwise.

bool ShowItalic (out bool out_state)

Shows whether the text should be italic.

Param out_state

Whether the text should be italic.

Return

true if an italic setting was set, false otherwise.

bool ShowLeaderLines (out HPS.Point[] out_positions, out HPS.Text.LeaderLineSpace out_space)

Shows the leader lines to be used with text.

Param out_positions

the target positions of the leader lines.

Param out_space

the coordinate space in which the points in out_positions are specified

Return

true if leader lines were set, false otherwise.

bool ShowLineSpacing (out float out_multiplier)

Shows the line spacing multiplier for the text.

Param out_multiplier

The line spacing multiplier for the text.

Return

true if a line space multiplier was set, false otherwise.

bool ShowModellingMatrix (out HPS.MatrixKit out_matrix)

Shows the modelling matrix for the text.

Param out_matrix

The modelling matrix for the text.

Return

true if a modelling matrix was set, false otherwise.

bool ShowOverline (out bool out_state)

Shows whether an overline should be drawn over the text.

Param out_state

Whether an overline should be drawn over the text.

Return

true if an overline setting was set, false otherwise.

bool ShowPath (out HPS.Vector out_path)

Shows the path for the text.

Param out_path

The path for the text.

Return

true if a path was set, false otherwise.

bool ShowPosition (out HPS.Point out_position)

Shows the position for the text.

Param out_position

The object-space position for the text.

Return

true if a position was set, false otherwise.

bool ShowPreference (out float out_cutoff, out HPS.Text.SizeUnits out_units, out HPS.Text.Preference out_smaller, out HPS.Text.Preference out_larger)

Shows the preference for the text.

Param out_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param out_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param out_smaller

The font type preference for strings below the cutoff size.

Param out_larger

The font type preference for strings above the cutoff size.

Return

true if a preference was set, false otherwise.

bool ShowRegion (out HPS.Point[] out_region, out HPS.Text.RegionAlignment out_region_alignment, out HPS.Text.RegionFitting out_region_fitting, out bool out_region_adjust_direction, out bool out_region_relative_coordinates, out bool out_region_window_space)

Shows the region for the text.

Param out_region

The points defining the region for the text.

Param out_region_alignment

How the text will be positioned relative to the region line.

Param out_region_fitting

How the text will be organized within the region.

Param out_region_adjust_direction

Whether to draw text such that it is readable regardless of camera location.

Param out_region_relative_coordinates

Whether the points defining the region are relative to the insertion point for the text.

Param out_region_window_space

Whether the points defining the region are in window space coordinates.

Return

true if a region was set, false otherwise.

bool ShowRenderer (out HPS.Text.Renderer out_renderer)

Shows the renderer for the text.

Return

true if a renderer was set, false otherwise.

bool ShowRotation (out HPS.Text.Rotation out_rot, out float out_angle)

Shows the angle characters should be rotated within the text string.

Param out_rot

Whether to rotate the characters within the text string, and if so, what the angle should be measured with repect to.

Param out_angle

The angle in degrees to rotate each character within the text string.

Return

true if a rotation setting was set, false otherwise.

bool ShowSize (out float out_size, out HPS.Text.SizeUnits out_units)

Shows the font size to use for the text.

Param out_size

The size for the text.

Param out_units

The units of the size for the text.

Return

true if a size was set, false otherwise.

bool ShowSizeTolerance (out bool out_state, out float out_size, out HPS.Text.SizeToleranceUnits out_units)

Shows the size tolerance settings to use for the text.

Param out_state

Whether a size tolerance is enabled for this text.

Param out_size

The size for the tolerance.

Param out_units

The units of the size for the tolerance.

Return

true if a size tolerance was set, false otherwise.

bool ShowSlant (out float out_angle)

Shows the slant angle for the text.

Param out_angle

The angle in degrees to slant the text.

Return

true if a slang angle was set, false otherwise.

bool ShowSpacing (out float out_multiplier)

Shows the spacing multiplier for the text.

Param out_multiplier

The spacing multiplier for the text.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowStrikethrough (out bool out_state)

Shows whether a strikethrough should be drawn through the text.

Param out_state

Whether a strikethrough should be drawn through the text.

Return

true if a strikethrough setting was set, false otherwise.

bool ShowText (out string out_string)

Shows the string for the text.

Param out_string

UTF8-encoded string for the text.

Return

true if a text string was set, false otherwise.

bool ShowTextAttribute (out HPS.TextAttributeKit out_kit)

Sets the text attributes designated by in_kit on this TextKey.

Param out_kit

The attribute kit to populate with the attributes for this TextKey.

Return

true if the attributes were set, false otherwise.

bool ShowTransform (out HPS.Text.Transform out_trans)

Shows the transform state for the text.

Return

true if a transform state was set, false otherwise.

bool ShowUnderline (out bool out_state)

Shows whether an underline should be drawn under the text.

Param out_state

Whether an underline should be drawn under the text.

Return

true if an underline setting was set, false otherwise.

TextKey ()

The default constructor creates an uninitialized TextKey object. The Type() function will return Type.None.

TextKey (HPS.Key in_that)

This constructor creates an TextKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a text key. Otherwise the copy will fail and the resulting TextKey will be invalid.

TextKey (HPS.TextKey in_that)

The copy constructor creates a TextKey object that shares the underlying smart-pointer of the source TextKey.

Param in_that

The source TextKey to copy.

HPS.TextKey UnsetAlignment ()

Removes the alignment setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetBackground ()

Removes the background setting.

Return

A reference to this object.

HPS.TextKey UnsetBackgroundMargins ()

Removes the background margin setting.

Return

A reference to this object.

HPS.TextKey UnsetBackgroundStyle ()

Removes the background style setting.

Return

A reference to this object.

HPS.TextKey UnsetBold ()

Removes the bold setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetColor ()

Removes the color (RGBA or material index) from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetEverything ()

Removes all settings from this TextKey.

Return

A reference to this TextKey.

HPS.TextKey UnsetExtraSpace ()

Removes the extra space setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetFont ()

Removes the font setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetGreeking ()

Removes the greeking settings from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetItalic ()

Removes the italic setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetLeaderLines ()

Removes the leader line setting.

Return

A reference to this object.

HPS.TextKey UnsetLineSpacing ()

Removes the line spacing setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetModellingMatrix ()

Removes the modelling matrix from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetOverline ()

Removes the overline setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetPath ()

Removes the path from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetPreference ()

Removes the font type preference from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetRegion ()

Removes the region from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetRenderer ()

Removes the renderer setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetRotation ()

Removes the rotation setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetSize ()

Removes the size setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetSizeTolerance ()

Removes the size tolerance setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetSlant ()

Removes the slant setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetSpacing ()

Removes the spacing setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetStrikethrough ()

Removes the strikethrough setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetTransform ()

Removes the transform setting from the text.

Return

A reference to this TextKey.

HPS.TextKey UnsetUnderline ()

Removes the underline setting from the text.

Return

A reference to this TextKey.

class TextKit : public HPS.Kit

The TextKit class is a user space object. It is the kit analog to a TextKey.

Public Functions

void Consume (HPS.TextKit in_kit)

Copies the source TextKit into this TextKit and resets the source kit.

Param in_kit

The source TextKit to consume.

HPS.TextKit EditTextByDeletion (ulong in_row, ulong in_column, ulong in_count)

Removes characters from the text at the specified offset.

Param in_row

The row offset into a multiline text string. This value must be less than the number of lines in the text string.

Param in_column

The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.

Param in_count

The number of Unicode code points within the given text string to remove.

Return

A reference to this TextKit.

HPS.TextKit EditTextByInsertion (ulong in_row, ulong in_column, ulong in_count, string in_text)

Adds characters to the text at the specified offset.

Param in_row

The row offset into a multiline text string. This value must be less than the number of lines in the text string.

Param in_column

The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.

Param in_count

The number of Unicode code points within the given text string to insert into the text.

Param in_text

UTF8-encoded text to insert into the text. This must contain at least in_count Unicode code points.

Return

A reference to this TextKit.

HPS.TextKit EditTextByReplacement (ulong in_row, ulong in_column, ulong in_count, string in_text)

Replaces characters from the text at the specified offset.

Param in_row

The row offset into a multiline text string. This value must be less than the number of lines in the text string.

Param in_column

The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.

Param in_count

The number of Unicode code points within the given text string to remove.

Param in_text

UTF8-encoded text to perform replacement with. This must contain at least in_count Unicode code points.

Return

A reference to this TextKit.

override bool Empty ()

Indicates whether this TextKit has any values set on it.

Return

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

bool Equals (HPS.TextKit in_kit)

Check if the source TextKit is equivalent to this TextKit.

Param in_kit

The source TextKit to compare to this TextKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source TextKit into this TextKit.

Param in_kit

The source TextKit to copy.

HPS.TextKit SetAlignment (HPS.Text.Alignment in_alignment)

Sets the alignment for the text.

Param in_alignment

The alignment for the text.

Return

A reference to this TextKit.

HPS.TextKit SetAlignment (HPS.Text.Alignment in_alignment, HPS.Text.ReferenceFrame in_reference_frame)

Sets the alignment for the text.

Param in_alignment

The alignment for the text.

Param in_reference_frame

The reference frame for the text. Defaults to Text.ReferenceFrame.WorldAligned.

Return

A reference to this TextKit.

HPS.TextKit SetAlignment (HPS.Text.Alignment in_alignment, HPS.Text.ReferenceFrame in_reference_frame, HPS.Text.Justification in_justification)

Sets the alignment for the text.

Param in_alignment

The alignment for the text.

Param in_reference_frame

The reference frame for the text. Defaults to Text.ReferenceFrame.WorldAligned.

Param in_justification

The justification for the text. Defaults to Text.Justification.Left.

Return

A reference to this TextKit.

HPS.TextKit SetBackground (bool in_state)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Return

A reference to this object.

HPS.TextKit SetBackground (bool in_state, string in_name)

Sets the background to be used with text.

Param in_state

Whether a background is drawn for text.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextKit SetBackground (string in_name)

Sets the background to be used with text. The state is implicitly on.

Param in_name

The name of a shape definition.

Return

A reference to this object.

HPS.TextKit SetBackgroundMargins (float in_size)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Return

A reference to this object.

HPS.TextKit SetBackgroundMargins (float in_size, HPS.Text.MarginUnits in_units)

Sets the amount of additional padding around text strings when backgrounds are used.

Param in_size

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextKit SetBackgroundMargins (float[] in_sizes, HPS.Text.MarginUnits[] in_units)

Sets the amount of additional padding around text strings when backgrounds are used. Additional margin values can also be referenced within definitions of background shapes and leader lines.

Param in_sizes

The size of the margins.

Param in_units

The units of the size.

Return

A reference to this object.

HPS.TextKit SetBackgroundStyle (string in_name)

Allows specifying a named style to be used in the drawing of text backgrounds. If no style is specified, backgrounds inherit the face and edge attributes from the containing segment.

Param in_name

The name of a style, defined in a portfolio that is accessible.

Return

A reference to this object.

HPS.TextKit SetBold (bool in_state)

Sets whether the text should be bold. For fonts which do not have a bold variant, this setting will be ignored.

Param in_state

Whether the text should be bold.

Return

A reference to this TextKit.

HPS.TextKit SetColor (HPS.RGBAColor in_rgba_color)

Sets the RGBA color of the text.

Param in_rgba_color

The RGBA color of the text.

Return

A reference to this TextKit.

HPS.TextKit SetColorByIndex (float in_index)

Sets the material index color for the text.

Param in_index

The material index color for the text.

Return

A reference to this TextKit.

HPS.TextKit SetExtraSpace (bool in_state)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add addtional space between characters in a text string.

Return

A reference to this TextKit.

HPS.TextKit SetExtraSpace (bool in_state, float in_size)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add addtional space between characters in a text string.

Param in_size

The size of the addtional space to add between characters. Defaults to 0.0f.

Return

A reference to this TextKit.

HPS.TextKit SetExtraSpace (bool in_state, float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string.

Param in_state

Whether to add addtional space between characters in a text string.

Param in_size

The size of the addtional space to add between characters. Defaults to 0.0f.

Param in_units

The units of the size of the additional space to add between characters. Defaults to Text.SizeUnits.ObjectSpace.

Return

A reference to this TextKit.

HPS.TextKit SetExtraSpace (float in_size, HPS.Text.SizeUnits in_units)

Sets the amount of additional space to add between characters in a text string. This function implicitly enables the addition of extra space.

Param in_size

The size of the addtional space to add between characters.

Param in_units

The units of the size of the additional space to add between characters.

Return

A reference to this TextKit.

HPS.TextKit SetFont (string in_name)

Sets the font to use for the text. This must either be a builtin font or a font Visualize can locate in the directories specified by World.SetFontDirectories. If the requested font cannot be found, the stroked font will be used.

See

World.SetFontDirectories

Param in_name

UTF8-encoded font name to use for the text.

Return

A reference to this TextKit.

HPS.TextKit SetGreeking (bool in_state)

Sets the greeking settings to use for the text.

Param in_state

Whether greeking is enabled for this text.

Return

A reference to this TextKit.

HPS.TextKit SetGreeking (bool in_state, float in_size)

Sets the greeking settings to use for the text.

Param in_state

Whether greeking is enabled for this text.

Param in_size

The size below which to draw a simple symbol in place of a character. Defaults to 0.0f.

Return

A reference to this TextKit.

HPS.TextKit SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for the text.

Param in_state

Whether greeking is enabled for this text.

Param in_size

The size below which to draw a simple symbol in place of a character. Defaults to 0.0f.

Param in_units

The units of the size below which to draw a simple glyph in place of a character. Defaults to Text.GreekingUnits.ObjectSpace.

Return

A reference to this TextKit.

HPS.TextKit SetGreeking (bool in_state, float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for the text.

Param in_state

Whether greeking is enabled for this text.

Param in_size

The size below which to draw a simple symbol in place of a character. Defaults to 0.0f.

Param in_units

The units of the size below which to draw a simple glyph in place of a character. Defaults to Text.GreekingUnits.ObjectSpace.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text.GreekingMode.Lines.

Return

A reference to this TextKit.

HPS.TextKit SetGreeking (float in_size, HPS.Text.GreekingUnits in_units)

Sets the greeking settings to use for the text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Return

A reference to this TextKit.

HPS.TextKit SetGreeking (float in_size, HPS.Text.GreekingUnits in_units, HPS.Text.GreekingMode in_mode)

Sets the greeking settings to use for the text. This function implicitly enables text greeking.

Param in_size

The size below which to draw a simple symbol in place of a character.

Param in_units

The units of the size below which to draw a simple glyph in place of a character.

Param in_mode

The type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text.Gree.Lines.

Return

A reference to this TextKit.

HPS.TextKit SetItalic (bool in_state)

Sets whether the text should be italic. For fonts which do not have an italic variant, this setting will be ignored.

Param in_state

Whether the text should be italic.

Return

A reference to this TextKit.

HPS.TextKit SetLeaderLine (HPS.Point in_position)

Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically.

Param in_position

the target position of the leader line.

Return

A reference to this object.

HPS.TextKit SetLeaderLine (HPS.Point in_position, HPS.Text.LeaderLineSpace in_space)

Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically.

Param in_position

the target position of the leader line.

Param in_space

the coordinate space in which in_position is specified.

Return

A reference to this object.

HPS.TextKit SetLeaderLines (HPS.Point[] in_positions)

Inserts leader lines for this text.

Param in_positions

the target positions of the leader lines.

Return

A reference to this object.

HPS.TextKit SetLeaderLines (HPS.Point[] in_positions, HPS.Text.LeaderLineSpace in_space)

Inserts leader lines for this text.

Param in_positions

the target positions of the leader lines.

Param in_space

the coordinate space in which in_positions is specified.

Return

A reference to this object.

HPS.TextKit SetLineSpacing (float in_multiplier)

Sets the line spacing multiplier for the text. This is a multiple of the font size that will be used to determine spacing between lines in multi-line text string.

Param in_multiplier

The line spacing multiplier for the text.

Return

A reference to this TextKit.

HPS.TextKit SetModellingMatrix (HPS.MatrixKit in_matrix)

Sets the modelling matrix for the text.

Param in_matrix

The modelling matrix for the text.

Return

A reference to this TextKit.

HPS.TextKit SetOverline (bool in_state)

Sets whether an overline should be drawn over the text.

Param in_state

Whether an overline should be drawn over the text.

Return

A reference to this TextKit.

HPS.TextKit SetPath (HPS.Vector in_path)

Sets the path for the text. This setting controls the vector along which a text string will be displayed.

Param in_path

The path for the text.

Return

A reference to this TextKit.

HPS.TextKit SetPosition (HPS.Point in_position)

Sets the position of the text in object space. The object-space position for the text.

Return

A reference to this TextKit.

HPS.TextKit SetPreference (float in_cutoff, HPS.Text.SizeUnits in_units, HPS.Text.Preference in_smaller, HPS.Text.Preference in_larger)

Sets the preference for the text. This setting controls which font type is used for the text for “large” and “small” sizes and the cutoff at which this distinction is made.

Param in_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param in_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param in_smaller

The font type preference for strings below the cutoff size.

Param in_larger

The font type preference for strings above the cutoff size.

Return

A reference to this TextKit.

HPS.TextKit SetPreference (HPS.Text.Preference in_pref)

Sets the font type preference for the text. This function implicitly sets the same font type for all text sizes.

Return

A reference to this TextKit.

HPS.TextKit SetPriority (int in_priority)

Assigns a specific drawing priority value to the TextKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

See

SubwindowKit.SetPriority()

See

SubwindowKit.SetRenderingAlgorithm()

Param in_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

A reference to this object.

HPS.TextKit SetRegion (HPS.Point[] in_region, HPS.Text.RegionAlignment in_region_alignment, HPS.Text.RegionFitting in_region_fitting, bool in_region_adjust_direction, bool in_region_relative_coordinates, bool in_region_window_space)

Sets the region for the text. This setting forces the text to be rendererd along the vector defined by two object space points. A region additionally allows control over if text should be evenly spaced between those points, or allowed to grow or shrink to avoid stretching or overlapping characters. No region is set on the text by default.

See

SetPath

Param in_region

The points defining the region for the text. This array must be of size 2 or 3. A two point region defines an implicit up vector which is rotated 90 degrees counter-clockwise from the region line. A three point region uses the first two points as the region line and the third point defines the plane in which a vector perpendicular to the region line will be computed for use as the up vector.

Param in_region_alignment

How the text will be positioned relative to the region line.

Param in_region_fitting

How the text is organized within the region.

Param in_region_adjust_direction

Whether to draw text such that it is readable regardless of camera location.

Param in_region_relative_coordinates

Whether the points defining the region are relative to the insertion point for the text.

Param in_region_window_space

Whether the points defining the region are in window space coordinates.

Return

A reference to this TextKit.

HPS.TextKit SetRenderer (HPS.Text.Renderer in_rend)

Sets the renderer for the text.

Return

A reference to this TextKit.

HPS.TextKit SetRotation (float in_angle)

Sets the angle characters should be rotated within the text string. This function implicitly sets a rotation state of Text.Rotation.Rotate.

Param in_angle

The angle in degrees to rotate each character within the text string.

Return

A reference to this TextKit.

HPS.TextKit SetRotation (HPS.Text.Rotation in_state)

Sets the angle characters should be rotated within the text string.

Param in_state

Whether and how to rotate the characters within the text string.

Return

A reference to this TextKit.

HPS.TextKit SetRotation (HPS.Text.Rotation in_state, float in_angle)

Sets the angle characters should be rotated within the text string.

Param in_state

Whether and how to rotate the characters within the text string.

Param in_angle

The angle in degrees to rotate each character within the text string. This is only relevant if in_state is Text.Rotation.Rotate. Defaults to 0.0f.

Return

A reference to this TextKit.

HPS.TextKit SetSize (float in_size, HPS.Text.SizeUnits in_units)

Sets the font size to use for the text.

Param in_size

The size for the text.

Param in_units

The units of the size for the text.

Return

A reference to this TextKit.

HPS.TextKit SetSizeTolerance (bool in_state)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for this text.

Return

A reference to this TextKit.

HPS.TextKit SetSizeTolerance (bool in_state, float in_size)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for this text.

Param in_size

The size for the tolerance. Defaults to 50.0f.

Return

A reference to this TextKit.

HPS.TextKit SetSizeTolerance (bool in_state, float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts.

Param in_state

Whether a size tolerance is enabled for this text.

Param in_size

The size for the tolerance. Defaults to 50.0f.

Param in_units

The units of the size for the tolerance. Defaults to Text.SizeToleranceUnits.Percent.

Return

A reference to this TextKit.

HPS.TextKit SetSizeTolerance (float in_size, HPS.Text.SizeToleranceUnits in_units)

Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. This function implicitly enables a size tolerance.

Param in_size

The size for the tolerance.

Param in_units

The units of the size for the tolerance.

Return

A reference to this TextKit.

HPS.TextKit SetSlant (float in_angle)

Sets the slant angle for the text. This determines how far the characters in the string are sheared to the left (negative angle) or right (positive angle) relative to the perpendicular.

Param in_angle

The angle in degrees to slant the text. This value must be in the range [-75.0f,+75.0f].

Return

A reference to this TextKit.

HPS.TextKit SetSpacing (float in_multiplier)

Sets the spacing multiplier for the text. This setting controls the spacing between adjacent characters within a string. A value of 0.0f would result in all characters being drawn on top of each other, a value of 1.0f would be the standard spacing between characters, a value of 2.0f would insert twice as much space as would normally be between two characters, and so on.

Param in_multiplier

The spacing multiplier for the text.

Return

A reference to this TextKit.

HPS.TextKit SetStrikethrough (bool in_state)

Sets whether a strikethrough should be drawn through the text.

Param in_state

Whether a strikethrough should be drawn through the text.

Return

A reference to this TextKit.

HPS.TextKit SetText (string in_string)

Sets the contents of the string for the text.

Param in_string

UTF8-encoded string for the text.

Return

A reference to this TextKit.

HPS.TextKit SetTransform (HPS.Text.Transform in_trans)

Sets the transform behavior for the text.

Return

A reference to this TextKit.

HPS.TextKit SetUnderline (bool in_state)

Sets whether an underline should be drawn under the text.

Param in_state

Whether an underline should be drawn under the text.

Return

A reference to this TextKit.

HPS.TextKit SetUserData (IntPtr in_index, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.TextKit SetUserData (IntPtr in_index, ulong in_bytes, byte[] in_data)

Sets user data on this kit.

Param in_index

The index of the user data to set.

Param in_bytes

The number of bytes of user data to set.

Param in_data

The bytes of user data to set.

Return

A reference to this kit.

HPS.TextKit SetUserData (IntPtr[] in_indices, byte[][] in_data)

Sets user data on this kit.

Param in_indices

An array of user data indices to set.

Param in_data

An array of bytes of user data to set.

Return

A reference to this kit.

void Show (out HPS.TextKit out_kit)

Copies this TextKit into the given TextKit.

Param out_kit

The TextKit to populate with the contents of this TextKit.

bool ShowAlignment (out HPS.Text.Alignment out_alignment, out HPS.Text.ReferenceFrame out_reference_frame, out HPS.Text.Justification out_justification)

Shows the aligment for the text.

Param out_alignment

The alignment for the text.

Param out_reference_frame

The reference frame for the text.

Param out_justification

The justification for the text.

Return

true if an alignment was set, false otherwise.

bool ShowBackground (out bool out_state, out string out_name)

Shows the background to be used with text.

Param out_state

Whether a background is drawn for text.

Param out_name

The name of a shape definition.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundMargins (out float[] out_size, out HPS.Text.MarginUnits[] out_units)

Shows the amount of additional padding around text strings when backgrounds are used.

Param out_size

The size of the margins.

Param out_units

The units of the sizes.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBackgroundStyle (out string out_name)

Shows the named style to be used in the drawing of text backgrounds.

Param out_name

The name of a style, defined in a portfolio that is accessible.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowBold (out bool out_state)

Shows whether the text should be bold.

Param out_state

Whether the text should be bold.

Return

true if a bold setting was set, false otherwise.

bool ShowColor (out HPS.Material.Type out_type, out HPS.RGBAColor out_rgba_color, out float out_index)

Shows the color for the text.

Param out_type

The type of color for the text.

Param out_rgba_color

The RGBA color for the text. This is only valid if out_type is Material.Type.RGBAColor.

Param out_index

The material index for the text. This is only valid if out_type is Material.Type.MaterialIndex.

Return

true if a color was set, false otherwise.

bool ShowExtraSpace (out bool out_state, out float out_size, out HPS.Text.SizeUnits out_units)

Shows the amount of additional space to add between characters in a text string.

Param out_state

Whether to add addtional space between characters in a text string.

Param out_size

The size of the addtional space to add between characters.

Param out_units

The units of the size of the additional space to add between characters.

Return

true if an extra space setting was set, false otherwise.

bool ShowFont (out string out_name)

Shows the font to use for the text.

Param out_name

UTF8-encoded font name to use for the text.

Return

true if a font was set, false otherwise.

bool ShowGreeking (out bool out_state, out float out_size, out HPS.Text.GreekingUnits out_units, out HPS.Text.GreekingMode out_mode)

Shows the greeking settings to use for the text.

Param out_state

Whether greeking is enabled for this text.

Param out_size

The size below which to draw a simple symbol in place of a character.

Param out_units

The units of the size below which to draw a simple glyph in place of a character.

Param out_mode

The type of symbol to draw for characters which are smaller than the greeking size.

Return

true if greeking settings were set, false otherwise.

bool ShowItalic (out bool out_state)

Shows whether the text should be italic.

Param out_state

Whether the text should be italic.

Return

true if an italic setting was set, false otherwise.

bool ShowLeaderLines (out HPS.Point[] out_positions, out HPS.Text.LeaderLineSpace out_space)

Shows the leader lines to be used with text.

Param out_positions

the target positions of the leader lines.

Param out_space

the coordinate space in which the points in out_positions are specified

Return

true if leader lines were set, false otherwise.

bool ShowLineSpacing (out float out_multiplier)

Shows the line spacing multiplier for the text.

Param out_multiplier

The line spacing multiplier for the text.

Return

true if a line space multiplier was set, false otherwise.

bool ShowModellingMatrix (out HPS.MatrixKit out_matrix)

Shows the modelling matrix for the text.

Param out_matrix

The modelling matrix for the text.

Return

true if a modelling matrix was set, false otherwise.

bool ShowOverline (out bool out_state)

Shows whether an overline should be drawn over the text.

Param out_state

Whether an overline should be drawn over the text.

Return

true if an overline setting was set, false otherwise.

bool ShowPath (out HPS.Vector out_path)

Shows the path for the text.

Param out_path

The path for the text.

Return

true if a path was set, false otherwise.

bool ShowPosition (out HPS.Point out_position)

Shows the position for the text.

Param out_position

The object-space position for the text.

Return

true if a position was set, false otherwise.

bool ShowPreference (out float out_cutoff, out HPS.Text.SizeUnits out_units, out HPS.Text.Preference out_smaller, out HPS.Text.Preference out_larger)

Shows the preference for the text.

Param out_cutoff

The font size below which the smaller preference is used and above which the larger preference is used.

Param out_units

The units for the font size below which the smaller preference is used and above which the larger preference is used.

Param out_smaller

The font type preference for strings below the cutoff size.

Param out_larger

The font type preference for strings above the cutoff size.

Return

true if a preference was set, false otherwise.

bool ShowPriority (out int out_priority)

Shows the drawing priority.

Param out_priority

The drawing priority, higher priority items are drawn on top of lower priority items.

Return

true if the setting is valid, false otherwise.

bool ShowRegion (out HPS.Point[] out_region, out HPS.Text.RegionAlignment out_region_alignment, out HPS.Text.RegionFitting out_region_fitting, out bool out_region_adjust_direction, out bool out_region_relative_coordinates, out bool out_region_window_space)

Shows the region for the text.

Param out_region

The points defining the region for the text.

Param out_region_alignment

How the text will be positioned relative to the region line.

Param out_region_fitting

How the text will be organized within the region.

Param out_region_adjust_direction

Whether to draw text such that it is readable regardless of camera location.

Param out_region_relative_coordinates

Whether the points defining the region are relative to the insertion point for the text.

Param out_region_window_space

Whether the points defining the region are in window space coordinates.

Return

true if a region was set, false otherwise.

bool ShowRenderer (out HPS.Text.Renderer out_renderer)

Shows the renderer for the text.

Return

true if a renderer was set, false otherwise.

bool ShowRotation (out HPS.Text.Rotation out_rot, out float out_angle)

Shows the angle characters should be rotated within the text string.

Param out_rot

Whether to rotate the characters within the text string, and if so, what the angle should be measured with repect to.

Param out_angle

The angle in degrees to rotate each character within the text string.

Return

true if a rotation setting was set, false otherwise.

bool ShowSize (out float out_size, out HPS.Text.SizeUnits out_units)

Shows the font size to use for the text.

Param out_size

The size for the text.

Param out_units

The units of the size for the text.

Return

true if a size was set, false otherwise.

bool ShowSizeTolerance (out bool out_state, out float out_size, out HPS.Text.SizeToleranceUnits out_units)

Shows the size tolerance settings to use for the text.

Param out_state

Whether a size tolerance is enabled for this text.

Param out_size

The size for the tolerance.

Param out_units

The units of the size for the tolerance.

Return

true if a size tolerance was set, false otherwise.

bool ShowSlant (out float out_angle)

Shows the slant angle for the text.

Param out_angle

The angle in degrees to slant the text.

Return

true if a slang angle was set, false otherwise.

bool ShowSpacing (out float out_multiplier)

Shows the spacing multiplier for the text.

Param out_multiplier

The spacing multiplier for the text.

Return

true if a spacing multiplier was set, false otherwise.

bool ShowStrikethrough (out bool out_state)

Shows whether a strikethrough should be drawn through the text.

Param out_state

Whether a strikethrough should be drawn through the text.

Return

true if a strikethrough setting was set, false otherwise.

bool ShowText (out string out_string)

Shows the string for the text.

Param out_string

UTF8-encoded string for the text.

Return

true if a text string was set, false otherwise.

bool ShowTransform (out HPS.Text.Transform out_trans)

Shows the transform state for the text.

Return

true if a transform state was set, false otherwise.

bool ShowUnderline (out bool out_state)

Shows whether an underline should be drawn under the text.

Param out_state

Whether an underline should be drawn under the text.

Return

true if an underline setting was set, false otherwise.

bool ShowUserData (IntPtr in_index, out byte[] out_data)

Shows the user data at a given index for this kit.

Param in_index

The index of the user data to show.

Param out_data

The user data at the given index.

Return

true if there is user data at the given index, false otherwise.

bool ShowUserData (out IntPtr[] out_indices, out byte[][] out_data)

Shows all user data for this kit.

Param out_indices

An array of all user data indices set on this kit.

Param out_data

An array of all user data set on this kit.

Return

true if there is user data on this kit, false otherwise.

ulong ShowUserDataCount ()

Get the number of user data indices set on this kit.

bool ShowUserDataIndices (out IntPtr[] out_indices)

Shows the indices of all user data set on this kit.

Param out_indices

The user data indices set on this kit.

Return

The number of user data indices set on this kit.

TextKit ()

The default constructor creates an empty TextKit object.

TextKit (HPS.TextKit in_kit)

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

Param in_kit

The source TextKit to copy.

HPS.TextKit UnsetAlignment ()

Removes the alignment setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetAllUserData ()

Removes all user data from this kit.

Return

A reference to this kit.

HPS.TextKit UnsetBackground ()

Removes the background setting.

Return

A reference to this object.

HPS.TextKit UnsetBackgroundMargins ()

Removes the background margin setting.

Return

A reference to this object.

HPS.TextKit UnsetBackgroundStyle ()

Removes the background style setting.

Return

A reference to this object.

HPS.TextKit UnsetBold ()

Removes the bold setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetColor ()

Removes the color (RGBA or material index) from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetEverything ()

Removes all settings from this TextKit.

Return

A reference to this TextKit.

HPS.TextKit UnsetExtraSpace ()

Removes the extra space setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetFont ()

Removes the font setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetGreeking ()

Removes the greeking settings from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetItalic ()

Removes the italic setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetLeaderLines ()

Removes the leader line setting.

Return

A reference to this object.

HPS.TextKit UnsetLineSpacing ()

Removes the line spacing setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetModellingMatrix ()

Removes the modelling matrix from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetOverline ()

Removes the overline setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetPath ()

Removes the path from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetPosition ()

Removes the text position.

Return

A reference to this TextKit.

HPS.TextKit UnsetPreference ()

Removes the font type preference from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetPriority ()

Removes a drawing priority setting.

Return

A reference to this object.

HPS.TextKit UnsetRegion ()

Removes the region setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetRenderer ()

Removes the renderer setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetRotation ()

Removes the rotation setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetSize ()

Removes the size setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetSizeTolerance ()

Removes the size tolerance setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetSlant ()

Removes the slant setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetSpacing ()

Removes the spacing setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetStrikethrough ()

Removes the strikethrough setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetText ()

Removes the text string.

Return

A reference to this TextKit.

HPS.TextKit UnsetTransform ()

Removes the transform setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetUnderline ()

Removes the underline setting from the text.

Return

A reference to this TextKit.

HPS.TextKit UnsetUserData (IntPtr in_index)

Removes the user data at the given index from this kit.

Param in_index

The index of the user data to remove.

Return

A reference to this kit.

HPS.TextKit UnsetUserData (IntPtr[] in_indices)

Removes the user data at the given indices from this kit.

Param in_indices

The indices of the user data to remove.

Return

A reference to this kit.

class TextMarginUnitsArray : public HPS::InternalHPSBlittableArray<HPS.Text.MarginUnits>
class TextMetrics : public IDisposable

The TextMetrics class is a concept class for TextMetrics related enum classes.

Public Types

enum Options

Enumerates the types of Text Metrics computations.

Values:

Default

This option will return a result equivalent to ComputeTextExtent.

Extended

Will return a result equivalent to ComputeTextExtent and includes max ascender and descender values.

PerGlyph

Same as Default, but one pair of values per character.

ExtendedPerGlyph

Same as PerGlyph, but will also inlcude ascender and descender values per character.

enum Units

Enumerates the space metrics are returned in.

Values:

Fractional

Metrics are returned as a fraction of the window size (0 - 1).

class TextureDefinition : public HPS.Definition

The TextureDefinition class is a smart pointer to a database object. It is a handler to a texture defined within a portfolio.

Public Functions

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 SetOptions (HPS.TextureOptionsKit in_options)

Redefine the texture options for this TextureDefinition.

Param in_options

The new texture options for this TextureDefinition.

void SetSource (HPS.ImageDefinition in_source)

Redefine the image for this TextureDefinition.

Param in_source

The new image for this TextureDefinition.

void ShowOptions (out HPS.TextureOptionsKit out_options)

Show the texture options for this TextureDefinition.

Param out_options

The texture options for this TextureDefinition.

bool ShowSource (out HPS.ImageDefinition out_source)

Show the image for this TextureDefinition.

Param out_source

The image for this TextureDefinition.

Return

true if an image definition was found in the same Portfolio as this TextureDefinition, false otherwise.

bool ShowSource (out string out_source)

Show the name of the source image for this TextureDefinition. If the source image for this TextureDefinition resides in a separate portfolio, users can use this method to retrieve the name of the source image, and use KeyPath.ShowEffectiveImageDefinition with the image name to retrieve the image definition.

Param out_source

The name of the source image for this TextureDefinition.

Return

true if able to retrieve the name of the source image, false otherwise.

TextureDefinition ()

The default constructor creates an uninitialized TextureDefinition object. The Type() function will return Type.None.

TextureDefinition (HPS.Definition in_that)

This constructor creates a TextureDefinition object that shares the underlying smart-pointer of the source Definition. The copy will only be successful if the source definition is really an upcast of a texture definition. Otherwise the copy will fail and the resulting TextureDefinition will be invalid.

Param in_that

The source Definition to copy.

TextureDefinition (HPS.TextureDefinition in_that)

The copy constructor creates an TextureDefinition object that shares the underlying smart-pointer of the source TextureDefinition.

Param in_that

The source TextureDefinition to copy.

class TextureDefinitionArray : public HPS::InternalHPSArray<HPS.TextureDefinition>
class TextureMatrixControl : public HPS.Control

The TextureMatrixControl class is a smart pointer that is tied to a database object. It controls the various attributes related to texture matrices.

Public Functions

HPS.TextureMatrixControl Adjoint ()

Replaces this matrix with it’s matrix adjoint. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.

Return

A reference to this object.

HPS.TextureMatrixControl Concatenate (HPS.MatrixKit in_kit)

Replaces this matrix with the matrix product of itself multiplied by another matrix.

Param in_kit

the right side operand of the matrix multiplication.

Return

A reference to this object.

HPS.TextureMatrixControl Invert ()

Replaces this matrix with it’s matrix inverse. If this matrix is singular (determinant = 0), it will be unchanged.

Return

A reference to this object.

HPS.TextureMatrixControl Normalize ()

Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.

Return

A reference to this object.

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.

HPS.TextureMatrixControl Rotate (float in_x, float in_y, float in_z)

Concatenates a rotation matrix to this matrix with rotation around the primary axes.

Param in_x

The number of degrees to rotate around the x-axis.

Param in_y

The number of degrees to rotate around the y-axis.

Param in_z

The number of degrees to rotate around the z-axis.

Return

A reference to this object.

HPS.TextureMatrixControl RotateOffAxis (HPS.Vector in_vector, float in_theta)

Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector.

Param in_vector

The vector to rotate around.

Param in_theta

the number of degrees to rotate around the specified vector

Return

A reference to this object.

HPS.TextureMatrixControl Scale (float in_x, float in_y, float in_z)

Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene.

Param in_x

The scale multiplier along the x-axis.

Param in_y

The scale multiplier along the y-axis.

Param in_z

The scale multiplier along the z-axis.

Return

A reference to this object.

HPS.TextureMatrixControl Set (HPS.MatrixKit in_matrix)

Copies all settings from the source MatrixKit into this object.

Param in_matrix

The source MatrixKit to copy.

HPS.TextureMatrixControl SetElement (ulong in_ordinal_zero_to_fifteen, float in_value)

Sets a single matrix element, indexed as a linear array in row-major order.

Param in_ordinal_zero_to_fifteen

The offset into the matrix. Valid range is [0, 15].

Param in_value

The matrix element.

Return

A reference to this object.

HPS.TextureMatrixControl SetElement (ulong in_row, ulong in_column, float in_value)

Sets a single matrix element.

Param in_row

The row index. Valid range is [0, 3].

Param in_column

The column index. Valid range is [0, 3].

Param in_value

The matrix element.

Return

A reference to this object.

HPS.TextureMatrixControl SetElements (float[] in_values)

Sets some or all elements in the matrix from an array, starting with the first element.

Param in_values

An array of float values in row-major order that should replace the values in the matrix.

Return

A reference to this object.

bool Show (out HPS.MatrixKit out_matrix)

Copies all settings from this control into the given MatrixKit.

Param out_matrix

The MatrixKit to populate with the contents of this object.

bool ShowAdjoint (out HPS.MatrixKit out_matrix)

Computes the matrix adjoint of this matrix. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.

Param out_matrix

The matrix adjoint of this matrix.

Return

true if the setting is valid, false otherwise.

bool ShowDeterminant (out float out_determinant)

Computes the matrix determinant of this matrix.

Param out_determinant

The matrix determinant.

Return

true if the setting is valid, false otherwise.

bool ShowElement (ulong in_ordinal_zero_to_fifteen, out float out_value)

Shows a single matrix element, indexed as a linear array in row-major order.

Param in_ordinal_zero_to_fifteen

The offset into the matrix. Valid range is [0, 15].

Param out_value

The matrix element.

Return

true if the setting is valid, false otherwise.

bool ShowElement (ulong in_row, ulong in_column, out float out_value)

Shows a single matrix element.

Param in_row

The row index. Valid range is [0, 3].

Param in_column

The column index. Valid range is [0, 3].

Param out_value

The matrix element.

Return

true if the setting is valid, false otherwise.

bool ShowElements (out float[] out_matrix)

Shows all elements of this matrix as an array.

Param out_matrix

The contents of the matrix arranged as a linear array in row-major order.

Return

true if the setting is valid, false otherwise.

bool ShowInverse (out HPS.MatrixKit out_matrix)

Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0).

Param out_matrix

The matrix inverse of this matrix.

Return

true if the setting is valid, false otherwise.

TextureMatrixControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

TextureMatrixControl (HPS.TextureMatrixControl in_that)

Initializes a control tied to the same object as in_that.

HPS.TextureMatrixControl Translate (float in_x, float in_y, float in_z)

Concatenates a translation matrix to this matrix that moves geometry.

Param in_x

The number of units to translate along the x-axis.

Param in_y

The number of units to translate along the y-axis.

Param in_z

The number of units to translate along the z-axis.

Return

A reference to this object.

HPS.TextureMatrixControl UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

class TextureOptionsKit : public HPS.Kit

The TextureOptionsKit class is a user space object. It is used for setting texture options when defining textures or cube maps. Calling HPS.TextureOptionsKit.GetDefault() will return an options kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this TextureOptionsKit has any values set on it.

Return

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

bool Equals (HPS.TextureOptionsKit in_kit)

Check if the source TextureOptionsKit is equivalent to this TextureOptionsKit.

Param in_kit

The source TextureOptionsKit to compare to this TextureOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source TextureOptionsKit into this TextureOptionsKit.

Param in_kit

The source TextureOptionsKit to copy.

HPS.TextureOptionsKit SetDecal (bool in_state)

Sets whether the texture should act as a decal, i.e., whether diffuse colors will be allowed through transparent portions of a diffuse texture. This only affects a diffuse texture on layer 0.

Param in_state

Whether the texture should act as a decal.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetDecimationFilter (HPS.Material.Texture.Decimation in_filter)

Sets the decimation filter to use for the texture.

Param in_filter

The decimation filter to use for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetDownSampling (bool in_state)

Sets whether the texture should be down-sampled.

Param in_state

Whether the texture should be down-sampled.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetInterpolationFilter (HPS.Material.Texture.Interpolation in_filter)

Sets the interpolation filter to use for the texture.

Param in_filter

The interpolation filter to use for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetModulation (bool in_state)

Sets whether the texture should be modulated with materials from layers below it. This only applies to diffuse textures.

Param in_state

Whether the texture should be modulated with materials from layers below it.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetParameterizationSource (HPS.Material.Texture.Parameterization in_source)

Sets the parameterization source for the texture.

Param in_source

The parameterization source for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetParameterOffset (ulong in_offset)

Sets the parameter offset for the texture, i.e., the offset into the texture parameter list to use at each vertex to locate the parameters for the texture.

Param in_offset

The parameter offset for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetTiling (HPS.Material.Texture.Tiling in_tiling)

Sets how the texture will be tiled for parameters outside the range [0, 1].

Param in_tiling

How the texture will be tiled for parameters outside the range [0, 1].

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetTransformMatrix (HPS.MatrixKit in_transform)

Sets the transform matrix to use for the texture.

Param in_transform

The transform matrix to use for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit SetValueScale (float in_min, float in_max)

Sets the value scaling (linear remapping) of texture element values.

Param in_min

The value to which zero will be remapped.

Param in_max

The value to which one will be remapped.

Return

A reference to this TextureOptionsKit.

void Show (out HPS.TextureOptionsKit out_kit)

Copies this TextureOptionsKit into the given TextureOptionsKit.

Param out_kit

The TextureOptionsKit to populate with the contents of this TextureOptionsKit.

bool ShowDecal (out bool out_state)

Shows whether the texture should act as a decal.

Param out_state

Whether the texture should act as a decal.

Return

true if the flag is valid, false otherwise.

bool ShowDecimationFilter (out HPS.Material.Texture.Decimation out_filter)

Shows the decimation filter for the texture.

Param out_filter

The decimation filter for the texture.

Return

true if the filter is valid, false otherwise.

bool ShowDownSampling (out bool out_state)

Shows whether the texture should be down-sampled.

Param out_state

Whether the texture should be down-sampled.

Return

true if the flag is valid, false otherwise.

bool ShowInterpolationFilter (out HPS.Material.Texture.Interpolation out_filter)

Shows the interpolation filter for the texture.

Param out_filter

The interpolation filter for the texture.

Return

true if the filter is valid, false otherwise.

bool ShowModulation (out bool out_state)

Shows whether the texture should be modulated with materials from layers below it.

Param out_state

Whether the texture should be be modulated with materials from layers below it.

Return

true if the flag is valid, false otherwise.

bool ShowParameterizationSource (out HPS.Material.Texture.Parameterization out_source)

Shows the parameterization source for the texture.

Param out_source

The parametererization source for the texture.

Return

true if the parameterization source is valid, false otherwise.

bool ShowParameterOffset (out ulong out_offset)

Shows the parameter offset for the texture.

Param out_offset

The parameter offset for the texture.

Return

true if the offset is valid, false otherwise.

bool ShowTiling (out HPS.Material.Texture.Tiling out_tiling)

Shows how the texture will be tiled for parameters outside the range [0, 1].

Param out_tiling

How the texture will be tiled for parameters outside the range [0, 1].

Return

true if the tiling is valid, false otherwise.

bool ShowTransformMatrix (out HPS.MatrixKit out_transform)

Shows the transform matrix for the texture.

Param out_transform

The transform matrix for the texture.

Return

true if the transform matrix is valid, false otherwise.

bool ShowValueScale (out float out_min, out float out_max)

Shows the value scale for the texture.

Param out_min

The value to which zero will be remapped.

Param out_max

The value to which one will be remapped.

Return

true if the filter is valid, false otherwise.

TextureOptionsKit ()

The default constructor creates an empty TextureOptionsKit object.

TextureOptionsKit (HPS.TextureOptionsKit in_kit)

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

Param in_kit

The source TextureOptionsKit to copy.

HPS.TextureOptionsKit UnsetDecal ()

Removes whether the texture should act as a decal.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetDecimationFilter ()

Removes the decimation filter for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetDownSampling ()

Removes whether to down-sample the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetEverything ()

Removes all settings from this TextureOptionsKit.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetInterpolationFilter ()

Removes the interpolation filter for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetModulation ()

Removes whether the texture should modulate with materials from layers below it.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetParameterizationSource ()

Removes the parameter source for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetParameterOffset ()

Removes the parameter offset for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetTiling ()

Removes how the texture will be tiled for parameters outside the range [0, 1].

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetTransformMatrix ()

Removes the transform matrix for the texture.

Return

A reference to this TextureOptionsKit.

HPS.TextureOptionsKit UnsetValueScale ()

Removes the value scale for the texture.

Return

A reference to this TextureOptionsKit.

Public Static Functions

HPS.TextureOptionsKit GetDefault ()

Creates a TextureOptionsKit 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 TextureOptionsKit with the default settings.

class TimerTickEvent : public HPS.Event

The TimerTickEvent class is the event that will be triggered for each timer tick.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this TimerEvent.

Return

A copy of this TimerEvent.

override bool Drop (HPS.Event in_that_event)

Determines if this TimerTickEvent can be drop in favor of the following time tick event.

Param in_that_event

Event to compare with this TimerTickEvent.

Return

true if this event can be dropped, false otherwise.

override IntPtr Freshen ()

This optional function is used to determine if the current event can be dropped in favor of newer event of the same type if one is available.

Return

A cookie representing the freshen category. Zero indicates a non-freshening event.

TimerTickEvent ()

The default constructor creates a TimerTickEvent object.

TimerTickEvent (HPS.Event in_event)

This constructor converts an EventObject to a TimerTickEvent object.

Param in_event

The EventObject to be converted.

struct Touch
class TouchArray : public HPS::InternalHPSBlittableArray<HPS.Touch>
class TouchEvent : public HPS.InputEvent

The TouchEvent class is the event generated for each touch action on a multi-touch device.

Public Types

enum Action

Enumeration of various actions touches can undergo for a TouchEvent.

Values:

TouchDown

A touch, or touches, has just gone down.

TouchUp

A touch, or touches, has just gone up.

Move

A touch, or touches, has just moved.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this TouchEvent.

Return

A copy of this TouchEvent.

override bool Drop (HPS.Event in_that_event)

Determines if this TouchEvent can be dropped in favor of the following touch event.

Param in_that_event

Event to compare with this TouchEvent.

Return

true if this event can be dropped, false otherwise.

override bool Equals (HPS.InputEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

bool Equals (HPS.TouchEvent in_that)

Check if the source object is equivalent to this object.

Param in_that

The source object to compare to this object.

Return

true if the objects are equivalent, false otherwise.

TouchEvent ()

The default constructor creates an uninitialized TouchEvent object.

TouchEvent (HPS.Event in_event)

This constructor converts an EventObject to a TouchEvent object.

Param in_event

The EventObject to be converted.

TouchEvent (HPS.TouchEvent.Action in_action)

This constructor creates a TouchEvent object for a given action without an array of Touches. Specifying TouchUp without an array of Touches clears tracked touches.

Param in_action

Action of this TouchEvent.

TouchEvent (HPS.TouchEvent.Action in_action, HPS.ModifierKeys in_modifier)

This constructor creates a TouchEvent object for a given action without an array of Touches. Specifying TouchUp without an array of Touches clears tracked touches.

Param in_action

Action of this TouchEvent.

Param in_modifier

The modifier keys for this TouchEvent.

TouchEvent (HPS.TouchEvent.Action in_action, HPS.Touch[] in_touches)

This constructor creates a TouchEvent object for a given action with an array of Touches. Specifying TouchUp with an empty an array of Touches clears tracked touches.

Param in_action

Action of this TouchEvent.

Param in_touches

An array or touches for this TouchEvent.

TouchEvent (HPS.TouchEvent.Action in_action, HPS.Touch[] in_touches, HPS.ModifierKeys in_modifier)

This constructor creates a TouchEvent object for a given action with an array of Touches. Specifying TouchUp with an empty an array of Touches clears tracked touches.

Param in_action

Action of this TouchEvent.

Param in_touches

An array or touches for this TouchEvent.

Param in_modifier

The modifier keys for this TouchEvent.

class TouchState : public HPS.Object

The TouchState class represents the state of touches on a multi-touch device for a particular event.

Public Functions

void Assign (HPS.TouchState in_that)

Copies the source TouchState into this TouchState.

Param in_that

The source TouchState to copy.

bool Equals (HPS.TouchState in_that)

Check if the source TouchState is equivalent to this TouchState.

Return

true if the objects are equivalent, false otherwise.

HPS.TouchEvent GetActiveEvent ()

Get the active event for this TouchState. This will throw an exception if there is no active action for this TouchState.

Return

The action for the active touches for this TouchState.

HPS.Key[] GetEventPath ()

Get the relevant list of keys up to the window which had focus when the touches represented by this TouchState underwent the active action. This will throw an exception if there is no event path for this TouchState.

Return

The relevant list of keys up to the window which had focus when the touches represented by this TouchState underwent the active action.

HPS.WindowKey GetEventSource ()

Get the window which had focus when the touches represented by this TouchState underwent the active action. This will throw an exception if there is no event source for this TouchState.

Return

The window which had focus when the touches represented by this TouchState underwent the active action.

HPS.ModifierKeys GetModifierKeys ()

Get an object representing the state of modifier keys for this TouchState.

Return

An object representing the state of modifier keys.

ulong GetTouchCount ()

Get the number of touches currently down in this TouchState.

Return

Number of touches.

HPS.Touch[] GetTouches ()

Get the touches currently down in this TouchState.

Return

The list of touches.

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.Key[] in_path, HPS.TouchEvent in_event, HPS.Touch[] in_touches)

Sets the properties of this TouchState.

Param in_path

The list of keys up to the window which had focus for this touch event.

Param in_event

The touch event.

Param in_touches

The touches down during this touch event.

void Set (HPS.Key[] in_path, HPS.TouchEvent in_event, HPS.Touch[] in_touches, HPS.ModifierKeys in_modifiers)

Sets the properties of this TouchState.

Param in_path

The list of keys up to the window which had focus for this touch event.

Param in_event

The touch event.

Param in_touches

The touches down during this touch event.

Param in_modifiers

The state of modifier keys for this touch event.

void SetActiveEvent (HPS.TouchEvent in_event)

Sets the active event for this TouchState.

Param in_event

The action for this TouchState.

void SetEventPath (HPS.Key[] in_path)

Sets the relevant list of keys up to the window which had focus for this touch event.

Param in_path

The relevant list of keys up to the window which had focus when the touches represented by this TouchState underwent the active action.

void SetModifierKeys (HPS.ModifierKeys in_modifiers)

Sets an object representing the state of modifier keys for this TouchState.

Param in_modifiers

An object representing the state of modifier keys.

void SetTouches (HPS.Touch[] in_touches)

Sets the touches currently down in this TouchState.

Param in_touches

The list of touches.

TouchState ()

The default constructor creates an empty TouchState object.

TouchState (HPS.TouchState in_that)

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

Param in_that

The source TouchState to copy.

class TransformMaskControl : public HPS.Control

The HPS.TransformMaskControl class is a smart pointer that is tied to a database object. This class allows you to manipulate the settings associated with a transform mask. A transform mask allows a segment to ignore its inherited transform. For example, if you want to be able to rotate a scene at a high level, but have a piece of geometry ignore rotations, you could achieve that effect using a transform mask. This table lists default values for the various segment attributes accessible from HPS.TransformMaskControl.

Public Functions

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.

HPS.TransformMaskControl SetCameraEverything (bool in_state)

Applies a mask which removes transforms related to camera.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraNearLimit (bool in_state)

Applies a mask which removes transforms related to camera near limit.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraOffset (bool in_state)

Applies a mask which removes transforms related to camera offsets.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraPerspectiveScale (bool in_state)

Applies a mask which removes transforms related to the camera perspective scale.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraProjection (bool in_state)

Applies a mask which removes transforms related to the camera perspective projection.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraRotation (bool in_state)

Applies a mask which removes transforms related to camera rotations.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraScale (bool in_state)

Applies a mask which removes transforms related to camera scales.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetCameraTranslation (bool in_state)

Applies a mask which removes transforms related to camera translations.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetEverything (bool in_state)

Applies a mask which removes all transforms related to both modelling matrix and camera.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetModellingMatrixEverything (bool in_state)

Applies a mask which removes transforms related to modelling matrix.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetModellingMatrixOffset (bool in_state)

Applies a mask which removes transforms related to all modelling matrix offset.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetModellingMatrixRotation (bool in_state)

Applies a mask which removes transforms related to all modelling matrix rotations.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetModellingMatrixScale (bool in_state)

Applies a mask which removes transforms related to all modelling matrix scales.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskControl SetModellingMatrixTranslation (bool in_state)

Applies a mask which removes transforms related to all modelling matrix translation.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

bool ShowCameraNearLimit (out bool out_state)

Shows the camera near limit mask setting

Param out_state

Whether the camera near limit transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraOffset (out bool out_state)

Shows the camera offset mask setting

Param out_state

Whether the camera offset transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraPerspectiveScale (out bool out_state)

Shows the camera perspective scale mask setting

Param out_state

Whether the camera perspective scale transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraProjection (out bool out_state)

Shows the camera perspective projection mask setting

Param out_state

Whether the camera perspective projection transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraRotation (out bool out_state)

Shows the camera rotation mask setting

Param out_state

Whether the camera rotation transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraScale (out bool out_state)

Shows the camera scale mask setting

Param out_state

Whether the camera scale transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraTranslation (out bool out_state)

Shows the camera translation mask setting

Param out_state

Whether the camera translation transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixOffset (out bool out_state)

Shows the modelling matrix offset mask setting

Param out_state

Whether the modelling matrix offset transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixRotation (out bool out_state)

Shows the modelling matrix rotation mask setting

Param out_state

Whether the modelling matrix rotation transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixScale (out bool out_state)

Shows the modelling matrix scale mask setting

Param out_state

Whether the modelling matrix scale transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixTranslation (out bool out_state)

Shows the modelling matrix translation mask setting

Param out_state

Whether the modelling matrix translation transform mask is applied

Return

true if the setting is valid, false otherwise.

TransformMaskControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

TransformMaskControl (HPS.TransformMaskControl in_that)

Initializes a control tied to the same object as in_that.

HPS.TransformMaskControl UnsetCameraEverything ()

Removes the mask which removes transforms related to camera. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraNearLimit ()

Removes the mask which removes transforms related to camera near limit. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraOffset ()

Removes the mask which removes transforms related to camera offset. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraPerspectiveScale ()

Removes the mask which removes transforms related to the camera perspective scale. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraProjection ()

Removes the mask which removes transforms related to the camera perspective projection. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraRotation ()

Removes the mask which removes transforms related to camera rotation. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraScale ()

Removes the mask which removes transforms related to camera scale. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetCameraTranslation ()

Removes the mask which removes transforms related to camera translation. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetEverything ()

Removes the mask which removes transforms related to camera and modelling matrix. If the control is attached to a WindowKey this function restores the default settings of this control as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetModellingMatrixEverything ()

Removes the mask which removes transforms related to modelling matrix everything. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetModellingMatrixOffset ()

Removes the mask which removes transforms related to modelling matrix offset. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetModellingMatrixRotation ()

Removes the mask which removes transforms related to modelling matrix rotation. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetModellingMatrixScale ()

Removes the mask which removes transforms related to modelling matrix scale. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

HPS.TransformMaskControl UnsetModellingMatrixTranslation ()

Removes the mask which removes transforms related to modelling matrix translation. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransformMaskKit.GetDefault().

Return

A reference to this object.

class TransformMaskKit : public HPS.Kit

The HPS.TransformMaskKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.TransformMaskKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Returns whether this kit has any values currently set on it.

bool Equals (HPS.TransformMaskKit in_kit)

Compares the contents of in_kit and this kit.

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

Copies the kit in_kit into this kit.

HPS.TransformMaskKit SetCameraEverything (bool in_state)

Applies a mask which removes transforms related to camera.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraNearLimit (bool in_state)

Applies a mask which removes transforms related to camera near limit.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraOffset (bool in_state)

Applies a mask which removes transforms related to camera offsets.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraPerspectiveScale (bool in_state)

Applies a mask which removes the perspective scale from perspective cameras.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraProjection (bool in_state)

Applies a mask which removes the perspective projection and replaces it with an orthographic projection from perspective cameras.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraRotation (bool in_state)

Applies a mask which removes transforms related to camera rotations.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraScale (bool in_state)

Applies a mask which removes transforms related to camera scales.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetCameraTranslation (bool in_state)

Applies a mask which removes transforms related to camera translations.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetEverything (bool in_state)

Applies a mask which removes all transforms related to both modelling matrix and camera.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetModellingMatrixEverything (bool in_state)

Applies a mask which removes transforms related to modelling matrix.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetModellingMatrixOffset (bool in_state)

Applies a mask which removes transforms related to all modelling matrix offset.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetModellingMatrixRotation (bool in_state)

Applies a mask which removes transforms related to all modelling matrix rotations.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetModellingMatrixScale (bool in_state)

Applies a mask which removes transforms related to all modelling matrix scales.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

HPS.TransformMaskKit SetModellingMatrixTranslation (bool in_state)

Applies a mask which removes transforms related to all modelling matrix translation.

Param in_state

Whether the mask should be applied.

Return

A reference to this object.

void Show (out HPS.TransformMaskKit out_kit)

Copies this kit into out_kit.

bool ShowCameraNearLimit (out bool out_state)

Shows the camera near limit mask setting

Param out_state

Whether the camera near limit transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraOffset (out bool out_state)

Shows the camera offset mask setting

Param out_state

Whether the camera offset transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraPerspectiveScale (out bool out_state)

Shows the camera perspective scale mask setting

Param out_state

Whether the camera perspective scale transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraProjection (out bool out_state)

Shows the camera perspective projection mask setting

Param out_state

Whether the camera perspective projection transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraRotation (out bool out_state)

Shows the camera rotation mask setting

Param out_state

Whether the camera rotation transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraScale (out bool out_state)

Shows the camera scale mask setting

Param out_state

Whether the camera scale transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowCameraTranslation (out bool out_state)

Shows the camera translation mask setting

Param out_state

Whether the camera translation transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixOffset (out bool out_state)

Shows the modelling matrix offset mask setting

Param out_state

Whether the modelling matrix offset transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixRotation (out bool out_state)

Shows the modelling matrix rotation mask setting

Param out_state

Whether the modelling matrix rotation transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixScale (out bool out_state)

Shows the modelling matrix scale mask setting

Param out_state

Whether the modelling matrix scale transform mask is applied

Return

true if the setting is valid, false otherwise.

bool ShowModellingMatrixTranslation (out bool out_state)

Shows the modelling matrix translation mask setting

Param out_state

Whether the modelling matrix translation transform mask is applied

Return

true if the setting is valid, false otherwise.

TransformMaskKit ()

Initializes an empty kit.

TransformMaskKit (HPS.TransformMaskKit in_kit)

Copies the kit in_kit into this kit.

HPS.TransformMaskKit UnsetCameraEverything ()

Removes the mask which removes transforms related to camera.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraNearLimit ()

Removes the mask which removes transforms related to camera near limit.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraOffset ()

Removes the mask which removes transforms related to camera offset.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraPerspectiveScale ()

Removes the mask which removes the perspective scale from perspective cameras.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraProjection ()

Removes the mask which removes the perspective projection from perspective cameras.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraRotation ()

Removes the mask which removes transforms related to camera rotation.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraScale ()

Removes the mask which removes transforms related to camera scale.

Return

A reference to this object.

HPS.TransformMaskKit UnsetCameraTranslation ()

Removes the mask which removes transforms related to camera translation.

Return

A reference to this object.

HPS.TransformMaskKit UnsetEverything ()

Removes the mask which removes transforms related to camera and modelling matrix.

Return

A reference to this object.

HPS.TransformMaskKit UnsetModellingMatrixEverything ()

Removes the mask which removes transforms related to modelling matrix everything.

Return

A reference to this object.

HPS.TransformMaskKit UnsetModellingMatrixOffset ()

Removes the mask which removes transforms related to modelling matrix offset.

Return

A reference to this object.

HPS.TransformMaskKit UnsetModellingMatrixRotation ()

Removes the mask which removes transforms related to modelling matrix rotation.

Return

A reference to this object.

HPS.TransformMaskKit UnsetModellingMatrixScale ()

Removes the mask which removes transforms related to modelling matrix scale.

Return

A reference to this object.

HPS.TransformMaskKit UnsetModellingMatrixTranslation ()

Removes the mask which removes transforms related to modelling matrix translation.

Return

A reference to this object.

class Transparency : public IDisposable

This is the Transparency Class

Public Types

enum Algorithm

Transparency Algorithm

Values:

None

No sorting will be performed, but transparent objects will be deferred (drawn on top). If overlapping transparent objects are present the rendering will not be accurate.

Painters

Will produce a completely accurate rendering of transparent objects which are overlapping other transparent objects, but tends to be slow.

ZSortNicest

Sorts every transparent triangle in a shell by its mid-point. This algorithm can result in rendering artifacts at locations where transparent objects intersect with one another.

ZSortFastest

Sorts transparent tristrips in a shell by the mid-point of the entire tristrip. This algorithm can result in rendering artifacts at locations where transparent objects intersect with one another.

DepthPeeling

Non-sorting technique based on multi-pass drawing, and leverages hardware acceleration to quickly produce an accurate rendering. Will give varying accuracy and performance results based on the number of ‘layers’ that are specified by the user.

WeightedBlended

Non-sorting technique which blends and approximates transparent objects based on the distance from the camera.

enum AreaUnits

Transparency Area Units

Values:

Percent

Transparency Area Units.

Pixels

Transparency Area Units.

enum Method

Transparency Method

Values:

None

This will disable transparency, overriding all other transparency settings and forcing geometry to be opaque.

Blended

The transparent object will be blended with the color of the underlying object.

ScreenDoor

This is a pseudo-transparency algorithm that sacrifices visual quality to improve performance.

enum Preference

Transparency Preference

Values:

Nicest

Quality should be favored at the possible cost of performance.

Fastest

Performance should be favored at the possible cost of some loss in image quality.

class TransparencyControl : public HPS.Control

The HPS.TransparencyControl class is a smart pointer that is tied to a database object. This object allows you to set and unset the algorithms used for calculating transparency. Some algorithms, such as depth peeling, have additional attributes, and those are also controlled using this class.

Default values for the various fields of HPS.TransparencyControl can be found here.

Public Functions

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.

HPS.TransparencyControl SetAlgorithm (HPS.Transparency.Algorithm in_algorithm)

Sets the algorithm to use when calculating transparency.

Param in_algorithm

The algorithm to use.

Return

a reference to this object.

HPS.TransparencyControl SetDepthPeelingLayers (uint in_layers)

Sets the number of layers to use when performing depth peeling. Ignored in other transparency methods.

Warning

This setting will be limited by the depth peeling layer count set at the containing window / subwindow. If the count is lower than the containing window’s count, excess render passes will be omitted.

Param in_layers

The number of layers to use when performing depth peeling.

Return

a reference to this object.

HPS.TransparencyControl SetDepthPeelingMinimumArea (float in_area, HPS.Transparency.AreaUnits in_units)

Sets the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling. Ignored in other transparency methods.

Param in_area

The amount of the screen a layer needs to occupy in order to process another layer.

Param in_units

The units of the minimum area.

Return

a reference to this object.

HPS.TransparencyControl SetDepthPeelingPreference (HPS.Transparency.Preference in_preference)

Specifies whether quality or performance should be favored when performing depth peeling. Ignored in other transparency methods.

Return

a reference to this object.

HPS.TransparencyControl SetDepthWriting (bool in_state)

Controls whether transparent geometry should write into the Z-buffer. Applies only when the transparency algorithm is NoSorting, ZSortNicest, or ZSortFastest.

Param in_state

Whether transparent geometry should write into the Z-buffer.

Return

a reference to this object.

HPS.TransparencyControl SetMethod (HPS.Transparency.Method in_style)

Sets the method to use when blending transparent geometry.

Param in_style

The method to use when blending transparent geometry.

Return

a reference to this object.

bool ShowAlgorithm (out HPS.Transparency.Algorithm out_algorithm)

Shows the algorithm to use when calculating transparency.

Param out_algorithm

The algorithm to use.

Return

true if the setting is valid, false otherwise.

bool ShowDepthPeelingLayers (out uint out_layers)

Shows the number of layers to use when performing depth peeling.

Param out_layers

The number of layers to use when performing depth peeling.

Return

true if the setting is valid, false otherwise.

bool ShowDepthPeelingMinimumArea (out float out_area, out HPS.Transparency.AreaUnits out_units)

Shows the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling.

Param out_area

The amount of the screen a layer needs to occupy in order to process another layer.

Param out_units

The units of the minimum area.

Return

true if the setting is valid, false otherwise.

bool ShowDepthPeelingPreference (out HPS.Transparency.Preference out_preference)

Shows the depth peeling preference.

Param out_preference

Whether quality of performance should be favored when performing depth peeling.

Return

true if the setting is valid, false otherwise.

bool ShowDepthWriting (out bool out_state)

Shows whether transparent geometry should write into the Z-buffer.

Param out_state

Whether transparent geometry should write into the Z-buffer.

Return

true if the setting is valid, false otherwise.

bool ShowMethod (out HPS.Transparency.Method out_style)

Shows the method to use when blending transparent geometry.

Param out_style

The method to use when blending transparent geometry.

Return

true if the setting is valid, false otherwise.

TransparencyControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

TransparencyControl (HPS.TransparencyControl in_that)

Initializes a control tied to the same object as in_that.

HPS.TransparencyControl UnsetAlgorithm ()

Removes the transparency algorithm setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

HPS.TransparencyControl UnsetDepthPeelingLayers ()

Removes the depth peeling layers setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

HPS.TransparencyControl UnsetDepthPeelingMinimumArea ()

Removes the depth peeling minimum area setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

HPS.TransparencyControl UnsetDepthPeelingPreference ()

Removes the depth peeling preference setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

HPS.TransparencyControl UnsetDepthWriting ()

Removes the depth writing setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

HPS.TransparencyControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

HPS.TransparencyControl UnsetMethod ()

Removes the transparency method setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit.GetDefault().

Return

A reference to this object.

class TransparencyKit : public HPS.Kit

The HPS.TransparencyKit class is a user space object, useful for carrying a group of attribute settings related to transparency. Calling HPS.TransparencyKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.TransparencyKit in_kit)

Check if the source TransparencyKit is equivalent to this object.

Param in_kit

The source TransparencyKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source TransparencyKit into this object.

Param in_kit

The source TransparencyKit to copy.

HPS.TransparencyKit SetAlgorithm (HPS.Transparency.Algorithm in_algorithm)

Sets the algorithm to use when calculating transparency.

Param in_algorithm

The algorithm to use.

Return

a reference to this object.

HPS.TransparencyKit SetDepthPeelingLayers (uint in_layers)

Sets the number of layers to use when performing depth peeling. Ignored in other transparency methods.

Warning

This setting will be limited by the depth peeling layer count set at the containing window / subwindow. If the count is lower than the containing window’s count, excess render passes will be omitted.

Param in_layers

The number of layers to use when performing depth peeling.

Return

a reference to this object.

HPS.TransparencyKit SetDepthPeelingMinimumArea (float in_area, HPS.Transparency.AreaUnits in_units)

Sets the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling. Ignored in other transparency methods.

Param in_area

The amount of the screen a layer needs to occupy in order to process another layer.

Param in_units

The units of the minimum area.

Return

a reference to this object.

HPS.TransparencyKit SetDepthPeelingPreference (HPS.Transparency.Preference in_preference)

Specifies whether quality or performance should be favored when performing depth peeling. Ignored in other transparency methods.

Return

a reference to this object.

HPS.TransparencyKit SetDepthWriting (bool in_state)

Controls whether transparent geometry should write into the Z-buffer. Applies only when the transparency algorithm is NoSorting, ZSortNicest, or ZSortFastest.

Param in_state

Whether transparent geometry should write into the Z-buffer.

Return

a reference to this object.

HPS.TransparencyKit SetMethod (HPS.Transparency.Method in_style)

Sets the method to use when blending transparent geometry.

Param in_style

The method to use when blending transparent geometry.

Return

a reference to this object.

void Show (out HPS.TransparencyKit out_kit)

Copies all settings from this TransparencyKit into the given TransparencyKit.

Param out_kit

The TransparencyKit to populate with the contents of this object.

bool ShowAlgorithm (out HPS.Transparency.Algorithm out_algorithm)

Shows the algorithm to use when calculating transparency.

Param out_algorithm

The algorithm to use.

Return

true if the setting is valid, false otherwise.

bool ShowDepthPeelingLayers (out uint out_layers)

Shows the number of layers to use when performing depth peeling.

Param out_layers

The number of layers to use when performing depth peeling.

Return

true if the setting is valid, false otherwise.

bool ShowDepthPeelingMinimumArea (out float out_area, out HPS.Transparency.AreaUnits out_units)

Shows the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling.

Param out_area

The amount of the screen a layer needs to occupy in order to process another layer.

Param out_units

The units of the minimum area.

Return

true if the setting is valid, false otherwise.

bool ShowDepthPeelingPreference (out HPS.Transparency.Preference out_preference)

Shows the depth peeling performance setting.

Param out_preference

Whether quality or performance should be favored when performing depth peeling.

Return

true if the setting is valid, false otherwise.

bool ShowDepthWriting (out bool out_state)

Shows whether transparent geometry should write into the Z-buffer.

Param out_state

Whether transparent geometry should write into the Z-buffer.

Return

true if the setting is valid, false otherwise.

bool ShowMethod (out HPS.Transparency.Method out_style)

Shows the method to use when blending transparent geometry.

Param out_style

The method to use when blending transparent geometry.

Return

true if the setting is valid, false otherwise.

TransparencyKit ()

Initializes an empty kit.

TransparencyKit (HPS.TransparencyKit in_kit)

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

Param in_kit

The source object to copy.

HPS.TransparencyKit UnsetAlgorithm ()

Removes the transparency algorithm setting.

Return

A reference to this object.

HPS.TransparencyKit UnsetDepthPeelingLayers ()

Removes the depth peeling layers setting.

Return

A reference to this object.

HPS.TransparencyKit UnsetDepthPeelingMinimumArea ()

Removes the depth peeling minimum area setting.

Return

A reference to this object.

HPS.TransparencyKit UnsetDepthPeelingPreference ()

Removes the depth peeling preference setting.

Return

A reference to this object.

HPS.TransparencyKit UnsetDepthWriting ()

Removes the depth writing setting.

Return

A reference to this object.

HPS.TransparencyKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.TransparencyKit UnsetMethod ()

Removes the transparency method setting.

Return

A reference to this object.

Public Static Functions

HPS.TransparencyKit GetDefault ()

Creates a TransparencyKit 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 TransparencyKit with the default settings.

class TreeContext : public HPS.Object

The TreeContext class is a user space object. It contains a spatial partition used for shell selection and shell relation computations. If many such operations will be performed without modifying the segment tree, using the same TreeContext for all of them can be a significant optimization. If a TreeContext is not specified, a new one is computed internally each time.

Public Functions

bool Equals (HPS.TreeContext in_that)

Check if the source TreeContext is the same as this TreeContext.

Return

true if the objects are identical, false otherwise.

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.

TreeContext ()

The default constructor creates a new TreeContext object.

TreeContext (bool in_create)

The default constructor creates a new TreeContext object.

Param in_create

whether to create the underlying spatial tree context.

TreeContext (HPS.TreeContext in_that)

The copy constructor shares a TreeContext object.

Param in_that

The source TreeContext to share.

class Trim : public IDisposable

The Trim class is a concept class for trim-related enum classes.

Public Types

enum Operation

Enumerates the operation the trim region will perform. This indicates whether the NURBS surface interior to a trim region is kept or removed, and hence, whether the surface exterior to a region is removed or kept.

Values:

Keep

Keep the surface interior to the trim region and remove the surface exterior to the trim region.

Remove

Remove the surface interior to the trim region and keep the surface exterior to the trim region.

class TrimElement : public HPS.Object

The TrimElement class is a user space object. It is used to specify the curves that are used to define a trim region.

Public Functions

bool Equals (HPS.TrimElement in_that)

Check if the source TrimElement is equivalent to this TrimElement.

Param in_that

The source TrimElement to compare to this TrimElement.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source TrimElement into this TrimElement.

Param in_that

The source TrimElement to copy.

void SetCurve (HPS.LineKit in_line)

Sets a line as the curve for this TrimElement.

Param in_line

The line for this TrimElement. Only the X and Y coordinates of the points defining the line will be used when the trim region is applied to a surface. The coordinates will be treated as U and V parameter values in the normalized parameter space for the NURBS surface.

void SetCurve (HPS.NURBSCurveKit in_curve)

Sets a NURBS curve as the curve for this TrimElement.

Param in_curve

The NURBS curve for this TrimElement. Only the X and Y coordinates of the control points defining the curve will be used when the trim region is applied to a surface. The coordinates will be treated as U and V parameter values in the normalized parameter space for the NURBS surface.

bool ShowCurve (out HPS.Trim.Type out_type, out HPS.LineKit out_line, out HPS.NURBSCurveKit out_curve)

Shows the curve for this TrimElement.

Param out_type

The type of curve used for this TrimElement.

Param out_line

The line for the trim curve. This is only valid if out_type</type> is NURBSSurface.Line.

Param out_curve

The NURBS curve for the trim curve. This is only valid if out_type</type> is NURBSSurface.Curve.

Return

true if a line or NURBS curve was set, false otherwise.

TrimElement ()

The default constructor creates an empty TrimElement object.

TrimElement (HPS.LineKit in_line)

This constructor creates a TrimElement with a line.

Param in_line

The line for this TrimElement. Only the X and Y coordinates of the points defining the line will be used when the trim region is applied to a surface. The coordinates will be treated as U and V parameter values in the normalized parameter space for the NURBS surface.

TrimElement (HPS.NURBSCurveKit in_curve)

This constructor creates a TrimElement with a NURBS curve.

Param in_curve

The NURBS curve for this TrimElement. Only the X and Y coordinates of the control points defining the curve will be used when the trim region is applied to a surface. The coordinates will be treated as U and V parameter values in the normalized parameter space for the NURBS surface.

TrimElement (HPS.TrimElement in_that)

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

Param in_that

The source TrimElement to copy.

class TrimElementArray : public HPS::InternalHPSArray<HPS.TrimElement>
class TrimKit : public HPS.Kit

The TrimKit class is a user space object. It is used to define trim curves (either NURBS curves or lines) that can be used to trim NURBS surfaces.

Public Functions

override bool Empty ()

Indicates whether this TrimKit has any values set on it.

Return

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

bool Equals (HPS.TrimKit in_kit)

Check if the source TrimKit is equivalent to this TrimKit.

Param in_kit

The source TrimKit to compare to this TrimKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source TrimKit into this TrimKit.

Param in_kit

The source TrimKit to copy.

HPS.TrimKit SetOperation (HPS.Trim.Operation in_operation)

Sets the operation for the trim.

Param in_operation

The operation for the trim.

Return

A reference to this TrimKit.

HPS.TrimKit SetShape (HPS.TrimElement in_shape)

Sets the shape of the trim region.

Param in_shape

An trim element defining a trim region.

Return

A reference to this TrimKit.

HPS.TrimKit SetShape (HPS.TrimElement[] in_shape)

Sets the shape of the trim region. The shape is a collection of trim elements.

Param in_shape

An array of trim elements defining a trim region.

Return

A reference to this TrimKit.

void Show (out HPS.TrimKit out_kit)

Copies this TrimKit into the given TrimKit.

Param out_kit

The TrimKit to populate with the contents of this TrimKit.

bool ShowOperation (out HPS.Trim.Operation out_operation)

Shows the operation for the trim.

Param out_operation

The operation for the trim.

Return

true if an operation was set, false otherwise.

bool ShowShape (out HPS.TrimElement[] out_shape)

Shows the shape of the trim region.

Param out_shape

The array of trim elements defining a trim region.

Return

true if a shape was set, false otherwise.

TrimKit ()

The default constructor creates an empty TrimKit object.

TrimKit (HPS.TrimKit in_kit)

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

Param in_kit

The source TrimKit to copy.

HPS.TrimKit UnsetEverything ()

Removes all settings from this TrimKit.

Return

A reference to this TrimKit.

HPS.TrimKit UnsetOperation ()

Removes the operation for the trim.

Return

A reference to this TrimKit.

HPS.TrimKit UnsetShape ()

Removes the trim elements defining a trim region.

Return

A reference to this TrimKit.

class TrimKitArray : public HPS::InternalHPSArray<HPS.TrimKit>
class UnsignedIntArray : public HPS::InternalHPSBlittableArray<uint>
class UpdateCompletedEvent : public HPS.Event

The UpdateCompletedEvent class is the event that is generated when an update is completed Note: Updates happen on a per-WindowKey basis, therefore, EventHandler objects which handle UpdateCompletedEvents need to be subscribed to the EventDispatcher of the WindowKey whose update needs to be monitored. Example: myWindow.GetEventDspatcher().Subscribe(*my_handler, HPS.Object.ClassID<HPS.UpdateCompletedEvent>());

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this UpdateCompletedEvent.

Return

A copy of this UpdateCompletedEvent.

UpdateCompletedEvent ()

The default constructor creates a UpdateCompletedEvent.

UpdateCompletedEvent (double in_update_time, HPS.Window.UpdateStatus in_update_status)

The constructor creates a UpdateCompletedEvent.

UpdateCompletedEvent (HPS.Event in_event)

This constructor converts an EventObject to an UpdateCompletedEvent object.

Param in_event

The EventObject to be converted.

struct UpdateInfo

Public Members

UIntPtr culled_display_list_tristrip_count

Number of tristrips from display lists culled during the last update.

UIntPtr deferred_3d_items_created

Number of deferred items created during the last update.

UIntPtr deferred_3d_items_deleted

Number of deferred items deleted during the last update.

UIntPtr deferred_inplace_items

Number of InPlace items deferred.

UIntPtr deferred_sprite_items

Number of Spriting items deferred.

UIntPtr deferred_sprite_transparent_items

Number of transparent Spriting items deferred.

UIntPtr deleted_display_list_count

Number of deleted display lists during the last update.

UIntPtr display_list_compilations

Number of display lists compiled during the last update.

UIntPtr display_list_line_3d_count

Number of lines drawn from display lists during the last update.

UIntPtr display_list_text_lines_3d_count

Number of lines generated from text that were drawn from display lists during the last update.

UIntPtr display_list_text_triangles_3d_count

Number of faces generated from text that were drawn from display lists during the last update.

UIntPtr display_list_triangle_3d_count

Number of triangles drawn from display lists during the last update.

UIntPtr display_list_tristrip_count

Number of tristrips drawn from display lists during the last update.

UIntPtr display_list_vertex_3d_count

Number of vertices drawn from display lists during the last update.

UIntPtr dot_3d_count

Number of 3D dots drawn during the last update.

UIntPtr dot_dc_count

Number of DC dots drawn during the last update.

UIntPtr extent_culled_segment_count

Number of segments culled because of extent culling during the last update.

UIntPtr frustum_culled_segment_count

Number of segments culled because of frustum culling during the last update.

UIntPtr line_3d_count

Number of 3D lines drawn during the last update.

UIntPtr line_dc_count

Number of DC lines drawn during the last update.

UIntPtr non_display_list_tristrip_count

Number of tristrips drawn during the last update.

UIntPtr polygon_3d_count

Number of 3D polygons drawn during the last update.

UIntPtr polygon_dc_count

Number of DC polygons drawn during the last update.

UIntPtr polyhedron_count

Number of polyhedra drawn during the last update.

UIntPtr raster_count

Number of rasters drawn during the last update.

UIntPtr restore_region_count

Number of framebuffer regions restored during the last update.

UIntPtr save_region_count

Number of framebuffer regions saved during the last update.

UIntPtr segment_count

Number of segments traversed during the last update.

float static_density

The average number of geometry per segment in the static models.

UIntPtr static_not_drawing

Number of segments that are part of the static model, that do not contribute towards drawing.

UIntPtr static_not_flattened_big

Number of segments that were not flattened as part of static model generation, because they were considered too big.

UIntPtr static_not_flattened_invisible

Number of segments that were not flattened as part of static model generation, because they were invisible.

UIntPtr static_segments

Number of segments created while generating static models.

double static_time

Time taken to create the static model(s) during the last update.

UIntPtr statics_created_count

Number of static models that were created during the last update.

UIntPtr text_3d_count

Number of 3D text drawn during the last update.

UIntPtr triangle_3d_count

Number of 3D triangles drawn during the last update.

UIntPtr triangle_dc_count

Number of DC triangles drawn during the last update.

double update_time

Time taken by the last update.

UIntPtr vector_culled_segment_count

Number of segments culled because of vector culling during the last update.

class UpdateNotifier : public HPS.Object

The UpdateNotifier class is a smart pointer that is associated with a window update. It is a special type of control that is used for synchronizing with a window update status.

Public Functions

void Assign (HPS.UpdateNotifier in_that)

Share the underlying smart-pointer of the UpdateNotifier source.

Param in_that

The UpdateNotifier source of the assignment.

HPS.UpdateNotifier Cancel ()

Requests to cancel this Notifier’s Update operation. The cancel operation returns without waiting for the Update to complete. To ensure that the Update is complete, you must call Wait().

Return

A reference to this UpdateNotifier.

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.

HPS.Window.UpdateStatus Status ()

Returns the HPS.Window.UpdateStatus for the Update represented by this UpdateNotifier.

UpdateNotifier (HPS.UpdateNotifier in_that)

The move constructor creates an UpdateNotifier by transferring the underlying impl of the rvalue reference to this UpdateNotifier thereby avoiding a copy and allocation.

Param in_that

An rvalue reference to an UpdateNotifier to take the impl from.

HPS.UpdateNotifier Wait ()

Wait for this Notifier to complete its Update.

Return

A reference to this UpdateNotifier.

class UpdateOptionsControl : public HPS.Control

The HPS.UpdateOptionsControl class is a smart pointer that is tied to a database object. It is used to set selection related options on a HPS.WindowKey. Options include the selection algorithm, granularity, internal limit, related limit, level, proximity, and sorting.

Default values for the various fields of HPS.UpdateOptionsControl can be found here.

Public Functions

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.

HPS.UpdateOptionsControl SetTimeLimit (double in_time_limit)

Sets the time limit of this UpdateOptionsControl.

Param in_time_limit

The time limit for this UpdateOptionsControl update.

Return

A reference to this UpdateOptionsControl.

HPS.UpdateOptionsControl SetUpdateType (HPS.Window.UpdateType in_type)

Sets the type of update of this UpdateOptionsControl.

Param in_type

The type of update that this UpdateOptionsControl will perform.

Return

A reference to this UpdateOptionsControl.

bool ShowTimeLimit (out double out_time_limit)

Shows the time limit from this UpdateOptionsControl.

Return

true if the time limit is valid, false otherwise.

bool ShowUpdateType (out HPS.Window.UpdateType out_type)

Shows the type of control from this UpdateOptionsControl.

Param out_type

The type of update.

Return

true if the type is valid, false otherwise.

HPS.UpdateOptionsControl UnsetEverything ()

Removes all settings from this UpdateOptionsControl. If the control is attached to a WindowKey this function restores the default settings of this control as specified by UpdateOptionsKit.GetDefault().

Return

A reference to this UpdateOptionsControl.

HPS.UpdateOptionsControl UnsetTimeLimit ()

Removes the time limit of this UpdateOptionsControl. If the control is attached to a WindowKey this function restores the default value of this setting as specified by UpdateOptionsKit.GetDefault().

Return

A reference to this UpdateOptionsControl.

HPS.UpdateOptionsControl UnsetUpdateType ()

Removes the type of control for this update Control. If the control is attached to a WindowKey this function restores the default value of this setting as specified by UpdateOptionsKit.GetDefault().

Return

A reference to this UpdateOptionsControl.

UpdateOptionsControl (HPS.UpdateOptionsControl in_that)

The copy constructor creates a UpdateOptionsControl object that shares the underlying smart-pointer of the source UpdateOptionsControl.

Param in_that

The source UpdateOptionsControl to copy.

UpdateOptionsControl (HPS.WindowKey in_window)

This constructor creates a UpdateOptionsControl object which is tied to the specified window.

Param in_window

The window which this UpdateOptionsControl should operate on.

class UpdateOptionsKit : public HPS.Kit

The HPS.UpdateOptionsKit class is a user space object. It contains options related to selection. Calling HPS.UpdateOptionsKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this UpdateOptionsKit has any values set on it.

Return

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

bool Equals (HPS.UpdateOptionsKit in_kit)

Check if the source UpdateOptionsKit is equivalent to this UpdateOptionsKit.

Param in_kit

The source UpdateOptionsKit to compare to this UpdateOptionsKit.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source UpdateOptionsKit into this UpdateOptionsKit.

Param in_kit

The source UpdateOptionsKit to copy.

HPS.UpdateOptionsKit SetTimeLimit (double in_time_limit)

Sets the time limit of this UpdateOptionsKit.

Param in_time_limit

The time limit for this UpdateOptionsKit update.

Return

A reference to this UpdateOptionsKit.

HPS.UpdateOptionsKit SetUpdateType (HPS.Window.UpdateType in_type)

Sets the type of update of this UpdateOptionsKit.

Param in_type

The type of update that this UpdateOptionsKit will perform.

Return

A reference to this UpdateOptionsKit.

void Show (out HPS.UpdateOptionsKit out_kit)

Copies this UpdateOptionsKit into the given UpdateOptionsKit.

Param out_kit

The UpdateOptionsKit to populate with the contents of this UpdateOptionsKit.

bool ShowTimeLimit (out double out_time_limit)

Shows the time limit from this UpdateOptionsKit.

Return

true if the time limit is valid, false otherwise.

bool ShowUpdateType (out HPS.Window.UpdateType out_type)

Shows the type of control from this UpdateOptionsKit.

Param out_type

The type of update.

Return

true if the type is valid, false otherwise.

HPS.UpdateOptionsKit UnsetEverything ()

Removes all settings from this UpdateOptionsKit.

Return

A reference to this UpdateOptionsKit.

HPS.UpdateOptionsKit UnsetTimeLimit ()

Removes the time limit of this UpdateOptionsKit.

Return

A reference to this UpdateOptionsKit.

HPS.UpdateOptionsKit UnsetUpdateType ()

Removes the type of control for this UpdateOptionsKit.

Return

A reference to this UpdateOptionsKit.

UpdateOptionsKit ()

The default constructor creates an empty UpdateOptionsKit object.

UpdateOptionsKit (HPS.UpdateOptionsKit in_kit)

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

Param in_kit

The source UpdateOptionsKit to copy.

Public Static Functions

HPS.UpdateOptionsKit GetDefault ()

Creates a UpdateOptionsKit 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 UpdateOptionsKit with the default settings.

class UTF8Array
class UTF8ArrayArray
class UTF8Hasher : public IDisposable

A std.hash compatible hasher for HPS.UTF8

struct Vector
struct Vector2D
class VectorArray : public HPS::InternalHPSBlittableArray<HPS.Vector>
class VisibilityControl : public HPS.Control

The HPS.VisibilityControl class is a smart pointer that is tied to a database object. This control allows you to set and unset the visibility of any type of geometry or subentity in the scene. The visibility of windows is also controlled here. Additionally, various behaviors such as casting and emitting shadows is also done through this control.

Default values for the various fields of HPS.VisibilityControl can be found here.

Public Functions

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.

HPS.VisibilityControl SetAdjacentEdges (bool in_state)

Sets the visibility of adjacent edges.

Param in_state

Whether adjacent edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetCutEdges (bool in_state)

Sets the visibility of edges cut by a cutting sections.

Param in_state

Whether cut edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetCutFaces (bool in_state)

Sets the visibility of capping planes for geometry cut by cutting sections.

Param in_state

Whether cut faces are visible.

Return

A reference to this object.

HPS.VisibilityControl SetCutGeometry (bool in_state)

Sets the visibility of cut geometry, both cut faces and cut edges.

Param in_state

Whether all cut geometry are visible.

Return

A reference to this object.

HPS.VisibilityControl SetCuttingSections (bool in_state)

Sets the visibility of cutting sections.

Param in_state

Whether cutting sections are visible.

Return

A reference to this object.

HPS.VisibilityControl SetEdgeLights (bool in_state)

Sets the visibility of lighting on edges.

Param in_state

Whether edge lights are visible.

Return

A reference to this object.

HPS.VisibilityControl SetEdges (bool in_state)

Sets the visibility of all edges.

Param in_state

Whether all edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetEverything (bool in_state)

Sets the visibility of all geometry and subgeometry.

Param in_state

Whether everything is visible.

Return

A reference to this object.

HPS.VisibilityControl SetFaceLights (bool in_state)

Sets the visibility of lighting on faces.

Param in_state

Whether face lights are visible.

Return

A reference to this object.

HPS.VisibilityControl SetFaces (bool in_state)

Sets the visibility of all faces, including shells, meshes, cylinders, etc..

Param in_state

Whether faces are visible.

Return

A reference to this object.

HPS.VisibilityControl SetGenericEdges (bool in_state)

Sets the visibility of generic edges.

Param in_state

Whether generic edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetGeometry (bool in_state)

Sets the visibility of all edges, faces, lines, markers, and text.

Param in_state

Whether all geometry is visible.

Return

A reference to this object.

HPS.VisibilityControl SetHardEdges (bool in_state)

Sets the visibility of hard edges.

Param in_state

Whether hard edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetInteriorSilhouetteEdges (bool in_state)

Sets the visibility of interior silhouette edges.

Param in_state

Whether interior silhouette edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetLeaderLines (bool in_state)

Sets the visibility of text leader lines.

Param in_state

Whether text leader lines are visible.

Return

A reference to this object.

HPS.VisibilityControl SetLights (bool in_state)

Sets the visibility of all lights, including face, edge, and marker lights.

Param in_state

Whether all lights are visible.

Return

A reference to this object.

HPS.VisibilityControl SetLines (bool in_state)

Sets the visibility of lines.

Param in_state

Whether lines are visible.

Return

A reference to this object.

HPS.VisibilityControl SetMarkerLights (bool in_state)

Sets the visibility of lighting on markers and vertices.

Param in_state

Whether marker lights are visible.

Return

A reference to this object.

HPS.VisibilityControl SetMarkers (bool in_state)

Sets the visibility of markers.

Param in_state

Whether markers are visible.

Return

A reference to this object.

HPS.VisibilityControl SetMeshQuadEdges (bool in_state)

Sets the visibility of edges of mesh quads.

Param in_state

Whether mesh quad edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetNonCulledEdges (bool in_state)

Sets the visibility of non-culled edges.

Param in_state

Whether non-culled edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetPerimeterEdges (bool in_state)

Sets the visibility of perimeter edges.

Param in_state

Whether perimeter edges are visible.

Return

A reference to this object.

HPS.VisibilityControl SetShadowCasting (bool in_state)

Sets the visibility of shadow casting.

Param in_state

Whether casting shadows are visible.

Return

A reference to this object.

HPS.VisibilityControl SetShadowEmitting (bool in_state)

Sets the visibility of shadow emitting.

Param in_state

Whether emitting shadows are visible.

Return

A reference to this object.

HPS.VisibilityControl SetShadowReceiving (bool in_state)

Sets the visibility of shadow receiving.

Param in_state

Whether receiving shadows are visible.

Return

A reference to this object.

HPS.VisibilityControl SetShadows (bool in_state)

Sets the visibility of shadow casting, emitting, and receiving.

Param in_state

Whether all shadows are visible.

Return

A reference to this object.

HPS.VisibilityControl SetText (bool in_state)

Sets the visibility of text.

Param in_state

Whether text is visible.

Return

A reference to this object.

HPS.VisibilityControl SetVertices (bool in_state)

Sets the visibility of vertices.

Param in_state

Whether vertices are visible.

Return

A reference to this object.

HPS.VisibilityControl SetWindows (bool in_state)

Sets the visibility of windows.

Param in_state

Whether windows are visible.

Return

A reference to this object.

bool ShowAdjacentEdges (out bool out_state)

Shows the visibility setting for adjacent edges.

Param out_state

Whether adjacent edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowCutEdges (out bool out_state)

Shows the visibility setting for cut edges.

Param out_state

Whether cut edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaces (out bool out_state)

Shows the visibility setting for cut faces.

Param out_state

Whether cut faces are visible.

Return

true if the setting is valid, false otherwise.

bool ShowCuttingSections (out bool out_state)

Shows the visibility setting for cutting sections.

Param out_state

Whether cutting sections are visible.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeLights (out bool out_state)

Shows the visibility setting for lighting of edges.

Param out_state

Whether edge lights are visible.

Return

true if the setting is valid, false otherwise.

bool ShowFaceLights (out bool out_state)

Shows the visibility setting for lighting of faces.

Param out_state

Whether face lights are visible.

Return

true if the setting is valid, false otherwise.

bool ShowFaces (out bool out_state)

Shows the visibility setting for faces.

Param out_state

Whether faces are visible.

Return

true if the setting is valid, false otherwise.

bool ShowGenericEdges (out bool out_state)

Shows the visibility setting for generic edges.

Param out_state

Whether generic edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowHardEdges (out bool out_state)

Shows the visibility setting for hard edges.

Param out_state

Whether hard edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowInteriorSilhouetteEdges (out bool out_state)

Shows the visibility setting for silhouette edges.

Param out_state

Whether interior silhouette edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowLeaderLines (out bool out_state)

Shows the visibility setting for text leader lines.

Param out_state

Whether text leader lines are visible.

Return

true if the setting is valid, false otherwise.

bool ShowLines (out bool out_state)

Shows the visibility setting for lines.

Param out_state

Whether lines are visible.

Return

true if the setting is valid, false otherwise.

bool ShowMarkerLights (out bool out_state)

Shows the visibility setting for lighting of markers.

Param out_state

Whether marker lights are visible.

Return

true if the setting is valid, false otherwise.

bool ShowMarkers (out bool out_state)

Shows the visibility setting for markers.

Param out_state

Whether markers are visible.

Return

true if the setting is valid, false otherwise.

bool ShowMeshQuadEdges (out bool out_state)

Shows the visibility setting for edges of mesh quads.

Param out_state

Whether mesh quad edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowNonCulledEdges (out bool out_state)

Shows the visibility setting for non-culled edges.

Param out_state

Whether non-culled edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowPerimeterEdges (out bool out_state)

Shows the visibility setting for perimeter edges.

Param out_state

Whether perimeter edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowShadowCasting (out bool out_state)

Shows the visibility setting for shadow casting.

Param out_state

Whether casting shadows are visible.

Return

true if the setting is valid, false otherwise.

bool ShowShadowEmitting (out bool out_state)

Shows the visibility setting for shadow emitting.

Param out_state

Whether emitting shadows are visible.

Return

true if the setting is valid, false otherwise.

bool ShowShadowReceiving (out bool out_state)

Shows the visibility setting for shadow receiving.

Param out_state

Whether receiving shadows are visible.

Return

true if the setting is valid, false otherwise.

bool ShowText (out bool out_state)

Shows the visibility setting for text.

Param out_state

Whether text is visible.

Return

true if the setting is valid, false otherwise.

bool ShowVertices (out bool out_state)

Shows the visibility setting for vertices.

Param out_state

Whether vertices are visible.

Return

true if the setting is valid, false otherwise.

bool ShowWindows (out bool out_state)

Shows the visibility setting for windows.

Param out_state

Whether windows are visible.

Return

true if the setting is valid, false otherwise.

HPS.VisibilityControl UnsetAdjacentEdges ()

Removes the visibility setting for adjacent edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetCutEdges ()

Removes the visibility setting for cut edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetCutFaces ()

Removes the visibility setting for cut faces. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetCutGeometry ()

Removes the visibility settings for both cut faces and cut edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetCuttingSections ()

Removes the visibility setting for cutting sections. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetEdgeLights ()

Removes the visibility setting for lighting of edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetEdges ()

Removes the visibility settings for all edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetEverything ()

Removes all visibility settings. If the control is attached to a WindowKey this function restores the default settings of this control as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetFaceLights ()

Removes the visibility setting for lighting of faces. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetFaces ()

Removes the visibility setting for faces. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetGenericEdges ()

Removes the visibility setting for generic edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetGeometry ()

Removes the visibility settings for all edges, faces, lines, markers, and text. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetHardEdges ()

Removes the visibility setting for hard edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetInteriorSilhouetteEdges ()

Removes the visibility setting for interior silhouette edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetLeaderLines ()

Removes the visibility settings for text leader lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetLights ()

Removes the visibility settings for all lights, including face, edge, and marker lights. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetLines ()

Removes the visibility setting for lines. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetMarkerLights ()

Removes the visibility setting for lighting or markers. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetMarkers ()

Removes the visibility setting for markers. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetMeshQuadEdges ()

Removes the visibility setting for edges of mesh quads. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetNonCulledEdges ()

Removes the visibility setting for non-culled edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetPerimeterEdges ()

Removes the visibility setting for perimeter edges. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetShadowCasting ()

Removes the visibility setting for shadow casting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetShadowEmitting ()

Removes the visibility setting for shadow emitting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetShadowReceiving ()

Removes the visibility setting for shadow receiving. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetShadows ()

Removes the visibility settings for shadow casting, emitting, and receiving. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetText ()

Removes the visibility setting for text. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetVertices ()

Removes the visibility setting for vertices. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

HPS.VisibilityControl UnsetWindows ()

Removes the visibility setting for windows. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisibilityKit.GetDefault().

Return

A reference to this object.

VisibilityControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

VisibilityControl (HPS.VisibilityControl in_that)

Initializes a control tied to the same object as in_that.

class VisibilityKit : public HPS.Kit

The HPS.VisibilityKit class is a user space object, useful for carrying a group of attribute settings. Calling HPS.VisibilityKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.VisibilityKit in_kit)

Check if the source VisibilityKit is equivalent to this object.

Param in_kit

The source VisibilityKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies all settings from the source VisibilityKit into this object.

Param in_kit

The source VisibilityKit to copy.

HPS.VisibilityKit SetAdjacentEdges (bool in_state)

Sets the visibility of adjacent edges. Adjacent edges are defined as edges that are attached to at least one visible face. If you want to have no edges between faces that are explicitly invisible, turn off edges in the segment and turn on adjacent edges.

Param in_state

Whether adjacent edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetCutEdges (bool in_state)

Sets the visibility of edges cut by a cutting sections.

Param in_state

Whether cut edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetCutFaces (bool in_state)

Sets the visibility of capping planes for geometry cut by cutting sections.

Param in_state

Whether cut faces are visible.

Return

A reference to this object.

HPS.VisibilityKit SetCutGeometry (bool in_state)

Sets the visibility of cut geometry, both cut faces and cut edges.

Param in_state

Whether all cut geometry are visible.

Return

A reference to this object.

HPS.VisibilityKit SetCuttingSections (bool in_state)

Sets the visibility of cutting sections.

Param in_state

Whether cutting sections are visible.

Return

A reference to this object.

HPS.VisibilityKit SetEdgeLights (bool in_state)

Sets the visibility of lighting on edges.

Param in_state

Whether edge lights are visible.

Return

A reference to this object.

HPS.VisibilityKit SetEdges (bool in_state)

Sets the visibility of all edges.

Param in_state

Whether all edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetEverything (bool in_state)

Sets the visibility of all geometry and subgeometry.

Param in_state

Whether everything is visible.

Return

A reference to this object.

HPS.VisibilityKit SetFaceLights (bool in_state)

Sets the visibility of lighting on faces.

Param in_state

Whether face lights are visible.

Return

A reference to this object.

HPS.VisibilityKit SetFaces (bool in_state)

Sets the visibility of all faces, including shells, meshes, cylinders, etc..

Param in_state

Whether faces are visible.

Return

A reference to this object.

HPS.VisibilityKit SetGenericEdges (bool in_state)

Sets the visibility of generic edges.

Param in_state

Whether generic edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetGeometry (bool in_state)

Sets the visibility of all edges, faces, lines, markers, and text.

Param in_state

Whether all geometry is visible.

Return

A reference to this object.

HPS.VisibilityKit SetHardEdges (bool in_state)

Sets the visibility of hard edges.

Param in_state

Whether hard edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetInteriorSilhouetteEdges (bool in_state)

Sets the visibility of interior silhouette edges.

Param in_state

Whether interior silhouette edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetLeaderLines (bool in_state)

Sets the visibility of text leader lines.

Param in_state

Whether text leader lines are visible

Return

A reference to this object.

HPS.VisibilityKit SetLights (bool in_state)

Sets the visibility of all lights, including face, edge, and marker lights.

Param in_state

Whether all lights are visible.

Return

A reference to this object.

HPS.VisibilityKit SetLines (bool in_state)

Sets the visibility of lines.

Param in_state

Whether lines are visible.

Return

A reference to this object.

HPS.VisibilityKit SetMarkerLights (bool in_state)

Sets the visibility of lighting on markers.

Param in_state

Whether marker lights are visible.

Return

A reference to this object.

HPS.VisibilityKit SetMarkers (bool in_state)

Sets the visibility of markers.

Param in_state

Whether markers are visible.

Return

A reference to this object.

HPS.VisibilityKit SetMeshQuadEdges (bool in_state)

Sets the visibility of edges of mesh quads.

Param in_state

Whether mesh quad edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetNonCulledEdges (bool in_state)

Sets the visibility of non-culled edges.

Param in_state

Whether non-culled edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetPerimeterEdges (bool in_state)

Sets the visibility of perimeter edges.

Param in_state

Whether perimeter edges are visible.

Return

A reference to this object.

HPS.VisibilityKit SetShadowCasting (bool in_state)

Sets the visibility of shadow casting.

Param in_state

Whether casting shadows are visible.

Return

A reference to this object.

HPS.VisibilityKit SetShadowEmitting (bool in_state)

Sets the visibility of shadow emitting.

Param in_state

Whether emitting shadows are visible.

Return

A reference to this object.

HPS.VisibilityKit SetShadowReceiving (bool in_state)

Sets the visibility of shadow receiving.

Param in_state

Whether receiving shadows are visible.

Return

A reference to this object.

HPS.VisibilityKit SetShadows (bool in_state)

Sets the visibility of shadow casting, emitting, and receiving.

Param in_state

Whether all shadows are visible.

Return

A reference to this object.

HPS.VisibilityKit SetText (bool in_state)

Sets the visibility of text.

Param in_state

Whether text is visible.

Return

A reference to this object.

HPS.VisibilityKit SetVertices (bool in_state)

Sets the visibility of vertices.

Param in_state

Whether vertices are visible.

Return

A reference to this object.

HPS.VisibilityKit SetWindows (bool in_state)

Sets the visibility of windows.

Param in_state

Whether windows are visible.

Return

A reference to this object.

void Show (out HPS.VisibilityKit out_kit)

Copies all settings from this VisibilityKit into the given VisibilityKit.

Param out_kit

The VisibilityKit to populate with the contents of this object.

bool ShowAdjacentEdges (out bool out_state)

Shows the visibility setting for adjacent edges.

Param out_state

Whether adjacent edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowCutEdges (out bool out_state)

Shows the visibility setting for cut edges.

Param out_state

Whether cut edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowCutFaces (out bool out_state)

Shows the visibility setting for cut faces.

Param out_state

Whether cut faces are visible.

Return

true if the setting is valid, false otherwise.

bool ShowCuttingSections (out bool out_state)

Shows the visibility setting for cutting sections.

Param out_state

Whether cutting sections are visible.

Return

true if the setting is valid, false otherwise.

bool ShowEdgeLights (out bool out_state)

Shows the visibility setting for lighting of edges.

Param out_state

Whether edge lights are visible.

Return

true if the setting is valid, false otherwise.

bool ShowFaceLights (out bool out_state)

Shows the visibility setting for lighting of faces.

Param out_state

Whether face lights are visible.

Return

true if the setting is valid, false otherwise.

bool ShowFaces (out bool out_state)

Shows the visibility setting for faces.

Param out_state

Whether faces are visible.

Return

true if the setting is valid, false otherwise.

bool ShowGenericEdges (out bool out_state)

Shows the visibility setting for generic edges.

Param out_state

Whether generic edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowHardEdges (out bool out_state)

Shows the visibility setting for hard edges.

Param out_state

Whether hard edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowInteriorSilhouetteEdges (out bool out_state)

Shows the visibility setting for silhouette edges.

Param out_state

Whether interior silhouette edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowLeaderLines (out bool out_state)

Shows the visibility setting for text leader lines.

Param out_state

Whether text leader lines are visible.

Return

true if the setting is valid, false otherwise.

bool ShowLines (out bool out_state)

Shows the visibility setting for lines.

Param out_state

Whether lines are visible.

Return

true if the setting is valid, false otherwise.

bool ShowMarkerLights (out bool out_state)

Shows the visibility setting for lighting of markers.

Param out_state

Whether marker lights are visible.

Return

true if the setting is valid, false otherwise.

bool ShowMarkers (out bool out_state)

Shows the visibility setting for markers.

Param out_state

Whether markers are visible.

Return

true if the setting is valid, false otherwise.

bool ShowMeshQuadEdges (out bool out_state)

Shows the visibility setting for edges of mesh quads.

Param out_state

Whether mesh quad edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowNonCulledEdges (out bool out_state)

Shows the visibility setting for non-culled edges.

Param out_state

Whether non-culled edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowPerimeterEdges (out bool out_state)

Shows the visibility setting for perimeter edges.

Param out_state

Whether perimeter edges are visible.

Return

true if the setting is valid, false otherwise.

bool ShowShadowCasting (out bool out_state)

Shows the visibility setting for shadow casting.

Param out_state

Whether casting shadows are visible.

Return

true if the setting is valid, false otherwise.

bool ShowShadowEmitting (out bool out_state)

Shows the visibility setting for shadow emitting.

Param out_state

Whether emitting shadows are visible.

Return

true if the setting is valid, false otherwise.

bool ShowShadowReceiving (out bool out_state)

Shows the visibility setting for shadow receiving.

Param out_state

Whether receiving shadows are visible.

Return

true if the setting is valid, false otherwise.

bool ShowText (out bool out_state)

Shows the visibility setting for text.

Param out_state

Whether text is visible.

Return

true if the setting is valid, false otherwise.

bool ShowVertices (out bool out_state)

Shows the visibility setting for vertices.

Param out_state

Whether vertices are visible.

Return

true if the setting is valid, false otherwise.

bool ShowWindows (out bool out_state)

Shows the visibility setting for windows.

Param out_state

Whether windows are visible.

Return

true if the setting is valid, false otherwise.

HPS.VisibilityKit UnsetAdjacentEdges ()

Removes the visibility setting for adjacent edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetCutEdges ()

Removes the visibility setting for cut edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetCutFaces ()

Removes the visibility setting for cut faces.

Return

A reference to this object.

HPS.VisibilityKit UnsetCutGeometry ()

Removes the visibility settings for both cut faces and cut edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetCuttingSections ()

Removes the visibility setting for cutting sections.

Return

A reference to this object.

HPS.VisibilityKit UnsetEdgeLights ()

Removes the visibility setting for lighting of edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetEdges ()

Removes the visibility settings for all edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetEverything ()

Removes all visibility settings.

Return

A reference to this object.

HPS.VisibilityKit UnsetFaceLights ()

Removes the visibility setting for lighting of faces.

Return

A reference to this object.

HPS.VisibilityKit UnsetFaces ()

Removes the visibility setting for faces.

Return

A reference to this object.

HPS.VisibilityKit UnsetGenericEdges ()

Removes the visibility setting for generic edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetGeometry ()

Removes the visibility settings for all edges, faces, lines, markers, and text.

Return

A reference to this object.

HPS.VisibilityKit UnsetHardEdges ()

Removes the visibility setting for hard edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetInteriorSilhouetteEdges ()

Removes the visibility setting for interior silhouette edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetLeaderLines ()

Removes the visibility settings for text leader lines.

Return

A reference to this object.

HPS.VisibilityKit UnsetLights ()

Removes the visibility settings for all lights, including face, edge, and marker lights.

Return

A reference to this object.

HPS.VisibilityKit UnsetLines ()

Removes the visibility setting for lines.

Return

A reference to this object.

HPS.VisibilityKit UnsetMarkerLights ()

Removes the visibility setting for lighting or markers.

Return

A reference to this object.

HPS.VisibilityKit UnsetMarkers ()

Removes the visibility setting for markers.

Return

A reference to this object.

HPS.VisibilityKit UnsetMeshQuadEdges ()

Removes the visibility setting for edges of mesh quads.

Return

A reference to this object.

HPS.VisibilityKit UnsetNonCulledEdges ()

Removes the visibility setting for non-culled edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetPerimeterEdges ()

Removes the visibility setting for perimeter edges.

Return

A reference to this object.

HPS.VisibilityKit UnsetShadowCasting ()

Removes the visibility setting for shadow casting.

Return

A reference to this object.

HPS.VisibilityKit UnsetShadowEmitting ()

Removes the visibility setting for shadow emitting.

Return

A reference to this object.

HPS.VisibilityKit UnsetShadowReceiving ()

Removes the visibility setting for shadow receiving.

Return

A reference to this object.

HPS.VisibilityKit UnsetShadows ()

Removes the visibility settings for shadow casting, emitting, and receiving.

Return

A reference to this object.

HPS.VisibilityKit UnsetText ()

Removes the visibility setting for text.

Return

A reference to this object.

HPS.VisibilityKit UnsetVertices ()

Removes the visibility setting for vertices.

Return

A reference to this object.

HPS.VisibilityKit UnsetWindows ()

Removes the visibility setting for windows.

Return

A reference to this object.

VisibilityKit ()

Initializes an empty kit.

VisibilityKit (HPS.VisibilityKit in_kit)

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

Param in_kit

The source object to copy.

Public Static Functions

HPS.VisibilityKit GetDefault ()

Creates a VisibilityKit 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 VisibilityKit with the default settings.

class VisualEffectsControl : public HPS.Control

The HPS.VisualEffectsControl class is a smart pointer that is tied to a database object. This object enables you to set and unset various visual effects, such as shadows (including shadow color), reflection planes, and anti-aliasing.

Default values for the various fields of HPS.VisualEffectsControl can be found here.

Public Functions

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.

HPS.VisualEffectsControl SetAmbientOcclusionEnabled (bool in_state)

Allows ambient occlusion to be enabled or disabled on a per segment basis.

Param in_state

Whether ambient occlusion should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetAntiAliasing (bool in_state)

Manipulates the state of anti-aliasing(text and screen).

Deprecated:

This function exists for compatibility and SetTextAntiAliasing(bool in_state) should be preferred in general usage.

Param in_state

Whether anti-aliasing(text and screen) should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetBloomEnabled (bool in_state)

Allows bloom to be enabled or disabled on a per segment basis.

Param in_state

Whether bloom should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetDepthOfFieldEnabled (bool in_state)

Allows depth of field to be enabled or disabled en masse on a per segment basis.

Param in_state

Whether depth of field should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetEyeDomeLightingBackColor (bool in_state)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Param in_state

Whether a back color should be used for eye dome lighting.

Return

A reference to this object.

HPS.VisualEffectsControl SetEyeDomeLightingBackColor (bool in_state, HPS.RGBColor in_color)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Param in_state

Whether a back color should be used for eye dome lighting.

Param in_color

The color to use for the back of a point for eye dome lighting.

Return

A reference to this object.

HPS.VisualEffectsControl SetEyeDomeLightingBackColor (HPS.RGBColor in_color)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting. The state is implicitly on.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Param in_color

The color to use for the back of a point for eye dome lighting.

Return

A reference to this object.

HPS.VisualEffectsControl SetEyeDomeLightingEnabled (bool in_state)

Allows eye dome lighting to be enabled or disabled en masse on a per segment basis.

Param in_state

Whether eye dome lighting should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetPostProcessEffectsEnabled (bool in_state)

Allows all post-processing effects to be enabled or disabled en masse on a per segment basis.

Param in_state

Whether post-processing effects should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetShadowMaps (bool in_state)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetShadowMaps (bool in_state, uint in_samples)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Return

A reference to this object.

HPS.VisualEffectsControl SetShadowMaps (bool in_state, uint in_samples, uint in_resolution)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Return

A reference to this object.

HPS.VisualEffectsControl SetShadowMaps (bool in_state, uint in_samples, uint in_resolution, bool in_view_dependent)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Param in_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

Return

A reference to this object.

HPS.VisualEffectsControl SetShadowMaps (bool in_state, uint in_samples, uint in_resolution, bool in_view_dependent, bool in_jitter)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Param in_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

Param in_jitter

Turning this on causes stochastic sampling of shadow maps. This should reduce aliasing in the shadow map.

Return

A reference to this object.

HPS.VisualEffectsControl SetShadowMaps (uint in_samples, uint in_resolution, bool in_view_dependent, bool in_jitter)

Manipulates the state of shadow maps in the scene. The state is implicitly on.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Param in_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

Param in_jitter

Turning this on causes stochastic sampling of shadow maps. This should reduce aliasing in the shadow map.

Return

A reference to this object.

HPS.VisualEffectsControl SetSilhouetteEdgesEnabled (bool in_state)

Allows silhouette edges to be enabled or disabled on a per segment basis.

Param in_state

Whether silhouette edges should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (bool in_state)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (bool in_state, float in_opacity)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring, bool in_fading)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring, bool in_fading, float in_attenuation_near_distance)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Param in_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring, bool in_fading, float in_attenuation_near_distance, float in_attenuation_far_distance)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Param in_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Param in_attenuation_far_distance

The orthogonal distances (in world space) from the reflection plane that the model is completely faded. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflection (float in_opacity, uint in_blurring, bool in_fading, float in_attenuation_near_distance, float in_attenuation_far_distance)

Manipulates the state of simple reflections, projected onto a plane. The state is implicitly on.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Param in_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Param in_attenuation_far_distance

The orthogonal distances (in world space) from the reflection plane that the model is completely faded. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflectionPlane ()

Manipulates the location and orientation of the plane that simple reflections are projected onto.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflectionPlane (HPS.Plane in_projected_onto)

Manipulates the location and orientation of the plane that simple reflections are projected onto.

Param in_projected_onto

The plane that simple reflections should be projected onto.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleReflectionVisibility (HPS.VisibilityKit in_reflected_types)

Defines the visibility settings for the model when rendered in the reflection plane.

Param in_reflected_types

A collection of visibility settings that will be applied to the reflected geometry.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadow (bool in_state)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadow (bool in_state, uint in_resolution)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadow (bool in_state, uint in_resolution, uint in_blurring)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadow (bool in_state, uint in_resolution, uint in_blurring, bool in_ignore_transparency)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_ignore_transparency

Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadow (uint in_resolution, uint in_blurring, bool in_ignore_transparency)

Manipulates the state of simple shadows, projected onto a plane. The state is implicitly on.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_ignore_transparency

Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadowColor ()

Sets the color that simple shadows will be rendered in.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadowColor (HPS.RGBAColor in_color)

Sets the color that simple shadows will be rendered in.

Param in_color

The color of simple shadows.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadowLightDirection ()

Sets the direction that the light source for a simple shadow is coming from.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadowLightDirection (HPS.Vector in_direction)

Sets the direction that the light source for a simple shadow is coming from.

Param in_direction

The direction that the light source for a simple shadow is coming from.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadowPlane ()

Manipulates the location and orientation of the plane that simple shadows are projected onto.

Return

A reference to this object.

HPS.VisualEffectsControl SetSimpleShadowPlane (HPS.Plane in_projected_onto)

Manipulates the location and orientation of the plane that simple shadows are projected onto.

Param in_projected_onto

The plane that simple shadows should be projected onto.

Return

A reference to this object.

HPS.VisualEffectsControl SetTextAntiAliasing (bool in_state)

Manipulates the state of text anti-aliasing.

Param in_state

Whether text anti-aliasing should be used.

Return

A reference to this object.

bool ShowAmbientOcclusionEnabled (out bool out_state)

Shows the ambient occlusion setting for the segment.

Param out_state

Whether ambient occlusion is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowAntiAliasing (out bool out_state)

Shows the anti-aliasing setting.

Deprecated:

This function exists for compatibility and ShowTextAntiAliasing(bool & out_state) should be preferred in general usage.

Param out_state

Whether anti-aliasing(text and screen) should be used.

Return

true if the setting(text and screen) is valid, false otherwise.

bool ShowBloomEnabled (out bool out_state)

Shows the bloom setting for the segment.

Param out_state

Whether bloom is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowDepthOfFieldEnabled (out bool out_state)

Shows the depth of field setting for the segment.

Param out_state

Whether depth of field is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLightingBackColor (out bool out_state, out HPS.RGBColor out_color)

Shows the eye dome lighting back color setting.

Param out_state

Whether a back color should be used for eye dome lighting.

Param out_color

The color to use for the back of a point for eye dome lighting.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLightingEnabled (out bool out_state)

Shows the eye dome lighting setting for the segment.

Param out_state

Whether eye dome lighting is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowPostProcessEffectsEnabled (out bool out_state)

Shows the post-processing effects setting.

Param out_state

Whether all post-processing effects are enabled for the segment.

Return

true if the setting is valid, false otherwise.

bool ShowShadowMaps (out bool out_state, out uint out_samples, out uint out_resolution, out bool out_view_dependent, out bool out_jitter)

Shows the shadow maps setting.

Param out_state

Whether shadow maps should be used.

Param out_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param out_resolution

The width and height of the shadow map.

Param out_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps.

Param out_jitter

Whether stochastic sampling of shadow maps should be use to reduce aliasing in the shadow map.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteEdgesEnabled (out bool out_state)

Shows the silhouette edges setting for the segment.

Param out_state

Whether silhouette edges are enabled.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleReflection (out bool out_state, out float out_opacity, out uint out_blurring, out bool out_fading, out float out_attenuation_near_distance, out float out_attenuation_far_distance)

Shows the simple reflection setting.

Param out_state

Whether simple shadows should be used.

Param out_opacity

An alpha value that sets the transparency level of the reflection plane.

Param out_blurring

The level of blurring (softening) that is applied to the shadow.

Param out_fading

Whether the reflection plane should fade as it moves away from the camera.

Param out_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade.

Param out_attenuation_far_distance

The orthogonal distances (in world space) from the reflection plane that the model is completely faded.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleReflectionPlane (out HPS.Plane out_projected_onto)

Shows the simple reflection plane setting.

Param out_projected_onto

The plane that simple reflections should be projected onto.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleReflectionVisibility (out HPS.VisibilityKit out_reflected_types)

Shows the simple shadow visibility setting.

Param out_reflected_types

A collection of visibility settings that will be applied to the reflected geometry.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadow (out bool out_state, out uint out_resolution, out uint out_blurring, out bool out_ignore_transparency)

Shows the simple shadow setting.

Param out_state

Whether simple shadows should be used.

Param out_resolution

The width and height of the simple shadow.

Param out_blurring

The level of blurring (softening) that is applied to the shadow.

Param out_ignore_transparency

Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadowColor (out HPS.RGBAColor out_color)

Shows the simple shadow color setting.

Param out_color

The color of simple shadows.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadowLightDirection (out HPS.Vector out_direction)

Shows the simple shadow light direction setting.

Param out_direction

The direction that the light source for a simple shadow is coming from.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadowPlane (out HPS.Plane out_projected_onto)

Shows the simple shadow plane setting.

Param out_projected_onto

The plane that simple shadows should be projected onto.

Return

true if the setting is valid, false otherwise.

bool ShowTextAntiAliasing (out bool out_state)

Shows the text anti-aliasing setting.

Param out_state

Whether anti-aliasing should be used.

Return

true if the setting is valid, false otherwise.

HPS.VisualEffectsControl UnsetAmbientOcclusionEnabled ()

Removes ambient occlusion setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetAntiAliasing ()

Removes any anti-alias setting(text and screen). If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Deprecated:

This function exists for compatibility and UnsetTextAntiAliasing() should be preferred in general usage.

Return

A reference to this object.

HPS.VisualEffectsControl UnsetBloomEnabled ()

Removes any bloom setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetDepthOfFieldEnabled ()

Removes any depth of field setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetEyeDomeLightingBackColor ()

Removes any eye dome lighting back color setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetEyeDomeLightingEnabled ()

Removes any eye dome lighting setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetPostProcessEffectsEnabled ()

Removes any post-processing effects setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetShadowMaps ()

Removes any shadow maps setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSilhouetteEdgesEnabled ()

Removes any silhouette edges setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleReflection ()

Removes any simple reflection setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleReflectionPlane ()

Removes any simple reflection plane setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleReflectionVisibility ()

Removes any simple reflection visibility setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleShadow ()

Removes any simple shadow setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleShadowColor ()

Removes any simple shadow color setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleShadowLightDirection ()

Removes any simple shadow light direction setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetSimpleShadowPlane ()

Removes any simple shadow plane setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

HPS.VisualEffectsControl UnsetTextAntiAliasing ()

Removes any text anti-alias setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit.GetDefault().

Return

A reference to this object.

VisualEffectsControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

VisualEffectsControl (HPS.VisualEffectsControl in_that)

Initializes a control tied to the same object as in_that.

class VisualEffectsKit : public HPS.Kit

The HPS.VisualEffectsKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.VisualEffectsKit.GetDefault() will return a kit with values found in this table.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.VisualEffectsKit in_kit)

Check if the source VisualEffectsKit is equivalent to this object.

Param in_kit

The source VisualEffectsKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source VisualEffectsKit into this object.

Param in_kit

The source object to copy.

HPS.VisualEffectsKit SetAmbientOcclusionEnabled (bool in_state)

Allows ambient occlusion to be enabled or disabled on a per segment basis.

Param in_state

Whether ambient occlusion should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetAntiAliasing (bool in_state)

Manipulates the state of anti-aliasing(text and screen).

Deprecated:

This function exists for compatibility and SetTextAntiAliasing(bool in_state) should be preferred in general usage.

Param in_state

Whether anti-aliasing(text and screen) should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetBloomEnabled (bool in_state)

Allows bloom to be enabled or disabled on a per segment basis.

Param in_state

Whether bloom should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetDepthOfFieldEnabled (bool in_state)

Allows depth of field to be enabled or disabled on a per segment basis.

Param in_state

Whether depth of field should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetEyeDomeLightingBackColor (bool in_state)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Param in_state

Whether a back color should be used for eye dome lighting.

Return

A reference to this object.

HPS.VisualEffectsKit SetEyeDomeLightingBackColor (bool in_state, HPS.RGBColor in_color)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Param in_state

Whether a back color should be used for eye dome lighting.

Param in_color

The color to use for the back of a point for eye dome lighting.

Return

A reference to this object.

HPS.VisualEffectsKit SetEyeDomeLightingBackColor (HPS.RGBColor in_color)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting. The state is implicitly on.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Param in_color

The color to use for the back of a point for eye dome lighting.

Return

A reference to this object.

HPS.VisualEffectsKit SetEyeDomeLightingEnabled (bool in_state)

Allows eye dome lighting to be enabled or disabled on a per segment basis.

Param in_state

Whether eye dome lighting should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetPostProcessEffectsEnabled (bool in_state)

Allows all post-processing effects to be enabled or disabled en masse on a per segment basis.

Param in_state

Whether post-processing effects should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetShadowMaps (bool in_state)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetShadowMaps (bool in_state, uint in_samples)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Return

A reference to this object.

HPS.VisualEffectsKit SetShadowMaps (bool in_state, uint in_samples, uint in_resolution)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Return

A reference to this object.

HPS.VisualEffectsKit SetShadowMaps (bool in_state, uint in_samples, uint in_resolution, bool in_view_dependent)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Param in_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

Return

A reference to this object.

HPS.VisualEffectsKit SetShadowMaps (bool in_state, uint in_samples, uint in_resolution, bool in_view_dependent, bool in_jitter)

Manipulates the state of shadow maps in the scene.

Param in_state

Whether shadow maps should be used.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Param in_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

Param in_jitter

Turning this on causes stochastic sampling of shadow maps. This should reduce aliasing in the shadow map.

Return

A reference to this object.

HPS.VisualEffectsKit SetShadowMaps (uint in_samples, uint in_resolution, bool in_view_dependent, bool in_jitter)

Manipulates the state of shadow maps in the scene. The state is implicitly on.

Param in_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param in_resolution

The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048.

Param in_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

Param in_jitter

Turning this on causes stochastic sampling of shadow maps. This should reduce aliasing in the shadow map.

Return

A reference to this object.

HPS.VisualEffectsKit SetSilhouetteEdgesEnabled (bool in_state)

Allows silhouette edges to be enabled or disabled on a per segment basis.

Param in_state

Whether silhouette edges should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (bool in_state)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (bool in_state, float in_opacity)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring, bool in_fading)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring, bool in_fading, float in_attenuation_near_distance)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Param in_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (bool in_state, float in_opacity, uint in_blurring, bool in_fading, float in_attenuation_near_distance, float in_attenuation_far_distance)

Manipulates the state of simple reflections, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Param in_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Param in_attenuation_far_distance

The orthogonal distances (in world space) from the reflection plane that the model is completely faded. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflection (float in_opacity, uint in_blurring, bool in_fading, float in_attenuation_near_distance, float in_attenuation_far_distance)

Manipulates the state of simple reflections, projected onto a plane. The state is implicitly on.

Param in_opacity

An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_fading

Whether the reflection plane should fade as it moves away from the camera.

Param in_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Param in_attenuation_far_distance

The orthogonal distances (in world space) from the reflection plane that the model is completely faded. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflectionPlane ()

Manipulates the location and orientation of the plane that simple reflections are projected onto.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflectionPlane (HPS.Plane in_projected_onto)

Manipulates the location and orientation of the plane that simple reflections are projected onto.

Param in_projected_onto

The plane that simple reflections should be projected onto.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleReflectionVisibility (HPS.VisibilityKit in_reflected_types)

Defines the visibility settings for the model when rendered in the reflection plane.

Param in_reflected_types

A collection of visibility settings that will be applied to the reflected geometry.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadow (bool in_state)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadow (bool in_state, uint in_resolution)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadow (bool in_state, uint in_resolution, uint in_blurring)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadow (bool in_state, uint in_resolution, uint in_blurring, bool in_ignore_transparency)

Manipulates the state of simple shadows, projected onto a plane.

Param in_state

Whether simple shadows should be used.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_ignore_transparency

Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadow (uint in_resolution, uint in_blurring, bool in_ignore_transparency)

Manipulates the state of simple shadows, projected onto a plane. The state is implicitly on.

Param in_resolution

The width and height of the simple shadow. Valid range is [32, 1024].

Param in_blurring

The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

Param in_ignore_transparency

Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadowColor ()

Sets the color that simple shadows will be rendered in.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadowColor (HPS.RGBAColor in_color)

Sets the color that simple shadows will be rendered in.

Param in_color

The color of simple shadows.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadowLightDirection ()

Sets the direction that the light source for a simple shadow is coming from.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadowLightDirection (HPS.Vector in_direction)

Sets the direction that the light source for a simple shadow is coming from.

Param in_direction

The direction that the light source for a simple shadow is coming from.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadowPlane ()

Manipulates the location and orientation of the plane that simple shadows are projected onto.

Return

A reference to this object.

HPS.VisualEffectsKit SetSimpleShadowPlane (HPS.Plane in_projected_onto)

Manipulates the location and orientation of the plane that simple shadows are projected onto.

Param in_projected_onto

The plane that simple shadows should be projected onto.

Return

A reference to this object.

HPS.VisualEffectsKit SetTextAntiAliasing (bool in_state)

Manipulates the state of anti-aliasing.

Param in_state

Whether anti-aliasing should be used.

Return

A reference to this object.

void Show (out HPS.VisualEffectsKit out_kit)

Copies this object into the given VisualEffectsKit.

Param out_kit

The VisualEffectsKit to populate with the contents of this object.

bool ShowAmbientOcclusionEnabled (out bool out_state)

Shows the ambient occlusion setting.

Param out_state

Whether ambient occlusion is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowAntiAliasing (out bool out_state)

Shows the anti-aliasing setting.

Deprecated:

This function exists for compatibility and ShowTextAntiAliasing(bool & out_state) should be preferred in general usage.

Param out_state

Whether anti-aliasing(text and screen) should be used.

Return

true if the setting(text and screen) is valid, false otherwise.

bool ShowBloomEnabled (out bool out_state)

Shows the bloom setting.

Param out_state

Whether bloom is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowDepthOfFieldEnabled (out bool out_state)

Shows the depth of field setting.

Param out_state

Whether depth of field is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLightingBackColor (out bool out_state, out HPS.RGBColor out_color)

Shows the eye dome lighting back color setting.

Param out_state

Whether a back color should be used for eye dome lighting.

Param out_color

The color to use for the back of a point for eye dome lighting.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLightingEnabled (out bool out_state)

Shows the eye dome lighting setting.

Param out_state

Whether eye dome lighting is enabled.

Return

true if the setting is valid, false otherwise.

bool ShowPostProcessEffectsEnabled (out bool out_state)

Shows the post-processing effects setting.

Param out_state

Whether post-processing effects are enabled.

Return

true if the setting is valid, false otherwise.

bool ShowShadowMaps (out bool out_state, out uint out_samples, out uint out_resolution, out bool out_view_dependent, out bool out_jitter)

Shows the shadow maps setting.

Param out_state

Whether shadow maps should be used.

Param out_samples

The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

Param out_resolution

The width and height of the shadow map.

Param out_view_dependent

When enabled, the view frustum is taken into account when generating shadow maps.

Param out_jitter

Whether stochastic sampling of shadow maps should be use to reduce aliasing in the shadow map.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteEdgesEnabled (out bool out_state)

Shows the silhouette edges setting.

Param out_state

Whether silhouette edges are enabled.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleReflection (out bool out_state, out float out_opacity, out uint out_blurring, out bool out_fading, out float out_attenuation_near_distance, out float out_attenuation_far_distance)

Shows the simple reflection setting.

Param out_state

Whether simple shadows should be used.

Param out_opacity

An alpha value that sets the transparency level of the reflection plane.

Param out_blurring

The level of blurring (softening) that is applied to the shadow.

Param out_fading

Whether the reflection plane should fade as it moves away from the camera.

Param out_attenuation_near_distance

The orthogonal distances (in world space) from the reflection plane that the model begins to fade.

Param out_attenuation_far_distance

The orthogonal distances (in world space) from the reflection plane that the model is completely faded.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleReflectionPlane (out HPS.Plane out_projected_onto)

Shows the simple reflection plane setting.

Param out_projected_onto

The plane that simple reflections should be projected onto.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleReflectionVisibility (out HPS.VisibilityKit out_reflected_types)

Shows the simple shadow visibility setting.

Param out_reflected_types

A collection of visibility settings that will be applied to the reflected geometry.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadow (out bool out_state, out uint out_resolution, out uint out_blurring, out bool out_ignore_transparency)

Shows the simple shadow setting.

Param out_state

Whether simple shadows should be used.

Param out_resolution

The width and height of the simple shadow.

Param out_blurring

The level of blurring (softening) that is applied to the shadow.

Param out_ignore_transparency

Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadowColor (out HPS.RGBAColor out_color)

Shows the simple shadow color setting.

Param out_color

The color of simple shadows.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadowLightDirection (out HPS.Vector out_direction)

Shows the simple shadow light direction setting.

Param out_direction

The direction that the light source for a simple shadow is coming from.

Return

true if the setting is valid, false otherwise.

bool ShowSimpleShadowPlane (out HPS.Plane out_projected_onto)

Shows the simple shadow plane setting.

Param out_projected_onto

The plane that simple shadows should be projected onto.

Return

true if the setting is valid, false otherwise.

bool ShowTextAntiAliasing (out bool out_state)

Shows the text anti-aliasing setting.

Param out_state

Whether text anti-aliasing should be used.

Return

true if the setting is valid, false otherwise.

HPS.VisualEffectsKit UnsetAmbientOcclusionEnabled ()

Removes any ambient occlusion setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetAntiAliasing ()

Removes any anti-alias setting(text and screen).

Deprecated:

This function exists for compatibility and UnsetTextAntiAliasing() should be preferred in general usage.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetBloomEnabled ()

Removes any bloom setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetDepthOfFieldEnabled ()

Removes any depth of field setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetEyeDomeLightingBackColor ()

Removes any eye dome lighting back color setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetEyeDomeLightingEnabled ()

Removes any eye dome lighting setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetPostProcessEffectsEnabled ()

Removes any post-processing effects setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetShadowMaps ()

Removes any shadow maps setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSilhouetteEdgesEnabled ()

Removes any silhouette edges setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleReflection ()

Removes any simple reflection setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleReflectionPlane ()

Removes any simple reflection plane setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleReflectionVisibility ()

Removes any simple reflection visibility setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleShadow ()

Removes any simple shadow setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleShadowColor ()

Removes any simple shadow color setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleShadowLightDirection ()

Removes any simple shadow light direction setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetSimpleShadowPlane ()

Removes any simple shadow plane setting.

Return

A reference to this object.

HPS.VisualEffectsKit UnsetTextAntiAliasing ()

Removes any text anti-alias setting.

Return

A reference to this object.

VisualEffectsKit ()

Initializes an empty kit.

VisualEffectsKit (HPS.VisualEffectsKit in_kit)

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

Param in_kit

The source object to copy.

Public Static Functions

HPS.VisualEffectsKit GetDefault ()

Creates a VisualEffectsKit 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 VisualEffectsKit with the default settings.

class WarningEvent : public HPS.Event

The WarningEvent class is the event that will be generated if an asynchronous warning occurs.

Public Functions

override HPS.Event Clone ()

Allocates and returns a copy of this WarningEvent.

Return

A copy of this WarningEvent.

bool Equals (HPS.WarningEvent in_that)

Check if the source object is equivalent to this object.

Return

true if the objects are equivalent, false otherwise.

WarningEvent ()

The default constructor creates a WarningEvent object with an empty message and code of Unknown.

WarningEvent (HPS.Event in_event)

This constructor converts an EventObject to a WarningEvent object.

Param in_event

The EventObject to be converted.

WarningEvent (string in_message)

This constructor creates a WarningEvent object with a specified message and code of Unknown.

Param in_message

A message describing the nature of the warning.

WarningEvent (string in_message, HPS.Info.Code in_code)

This constructor creates a WarningEvent object with a specified message and code.

Param in_message

A message describing the nature of the warning.

Param in_code

A code describing the nature of the warning.

class Window : public IDisposable

The Window class is a concept class for window-related enum classes.

Public Types

enum Driver

Enumerates the types of supported display drivers. We recommend that you use the Default3D driver type, and provide end-users with the ability to manually select from a range of 3d drivers in a driver-pulldown list. This will allow them to potentially work around graphics-card-specific problems that occur with a specific driver type.

Values:

Default3D

Visualize will perform runtime query of the 3D capabilities of the Operating System and graphics card and automatically choose a display driver. Under Windows, preference will be given to DirectX API, followed by OpenGL. Under all other platforms, only the OpenGL API is supported.

OpenGL

This is an alias for OpenGL2.

OpenGL2

Shader-based driver which supports OpenGL Core Profile on Windows, Linux, and macOS. OpenGL ES 2.0+ on iOS and Android.

DirectX11

Shader-based driver which supports DirectX 10.X+ Available on Windows.

OpenGL2Mesa
Metal
enum FrameOptions

Window Frame Positioning

Values:

Inset

Window Frame Positioning.

Overlay

Window Frame Positioning.

enum FrameSize

Dimensions of the Window Frame

Values:

Single

Window Frame Size.

Double

Window Frame Size.

enum ImageFormat

The native image format for off-screen windows

Values:

Default

Image Format.

RGBA

Image Format.

RGB

Image Format.

Jpeg

Image Format.

Png

Image Format.

enum Mobility

Enumerates the mobility modes (i.e., resizing and positioning behaviors) for stand-alone windows.

Values:

Locked

The stand-alone window cannot be moved or resized.

Floating

The stand-alone window can be moved, but cannot be resized.

FixedRatio

The stand-alone window can be moved and resized, but the aspect ratio cannot be changed.

Free

The stand-alone window can be moved and resized, and the aspect ratio can be changed.

enum UpdateStatus

Enumerates the status that can be returned when performing an update.

Values:

InProgress

Update is not done yet.

Completed

Update was successfully completed.

TimedOut

Update timed out before it could be completed.

Interrupted

Update was interrupted.

Failed

Update failed.

enum UpdateType

Controls the type of update that Visualize will attempt to perform. For information regarding static model regeneration for each specific UpdateType, please see Performance Considerations in the Rendering section of the programming guide.

Values:

Default

Makes sure that the screen is up-to-date with respect to the internal scene graph. Allows Visualize to automatically perform optimizations.

Complete
Refresh

Pulls the back buffer onto the screen. This is a useful way to update the screen after an expose event like when a window that was occluding your scene is moved away.

CompileOnly

Only compiles static trees and display lists.

Exhaustive
class WindowInfoControl : public HPS.Control

The WindowInfoControl class is a smart pointer that is tied to a database object. This object allows you to query various attributes about a window, such as its size and aspect ratio.

Public Functions

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.

bool ShowColorBitPlanes (out ulong out_planes)

Shows the number of color bit planes present for each pixel in the frame buffer.

Param out_planes

The number of color bit planes present for each pixel in the frame buffer.

Return

true if the color bit plane count can be queried from the hardware, false otherwise.

bool ShowDepthBufferSize (out ulong out_bits)

Shows the number of bits used in this window’s depth buffer.

Param out_bits

The number of bits used in this window’s depth buffer.

Return

true if depth buffer size can be queried from the hardware, false otherwise.

bool ShowDepthPeelingLayers (out ulong out_layers)

Shows the number of depth peeling layers that are supported for this window associated with this control.

Param out_layers

The number of depth peeling layers that are supported for this window associated with this control.

Return

true if depth peeling layers can be queried from the hardware, false otherwise.

bool ShowGPUName (out string out_name)

Shows the name of the GPU that is being used to render to this window.

Param out_name

The name of the GPU.

Return

true if the name can be queried from the hardware, false otherwise.

bool ShowLastUpdateInfo (out HPS.UpdateInfo out_info)

Shows information pertaining to the last performed update.

Param out_info

The information pertaining to the last performed update.

Return

false if called before the initial update, true otherwise.

bool ShowLastUpdateTime (out double out_time)

Shows the time taken (in milliseconds) to complete the last update. This function is limited to the resolution of the system timer. In practice, that means that frame rates above 20 per second cannot be accurately measured in this manner.

Param out_time

The time taken (in milliseconds) to complete the last update.

Return

false if called before the initial update, true otherwise.

bool ShowMaxLights (out ulong out_lights)

Shows the maximum number of lights that can be used within the window associated with this control.

Param out_lights

The maximum number of lights that can be used within the window associated with this control.

Return

true if the maximum light count can be queried from the hardware, false otherwise.

bool ShowMaxTextureSize (out uint out_width, out uint out_height)

Shows the maximum texture size that can be used.

Param out_width

The maximum texture width that can be used.

Param out_height

The maximum texture height that can be used.

Return

true if the maximum texture size can be queried from the hardware, false otherwise.

bool ShowPhysicalPixels (out uint out_width, out uint out_height)

Shows the number of pixels in the physical display (monitor, off-screen renderer, printer, etc.).

Param out_width

The width of the physical display in pixels.

Param out_height

The height of the physical display in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowPhysicalSize (out float out_width, out float out_height)

Shows the size, in centimeters, of the physical display (monitor, off-screen renderer, printer, etc.).

Param out_width

The width of the physical display in centimeters.

Param out_height

The height of the physical display in centimeters.

Return

true if the setting is valid, false otherwise.

bool ShowPixelAspectRatio (out float out_pixel_aspect)

Shows the aspect ratio of the window’s pixels. This is computed as the horizontal resolution divided by the vertical resolution.

Param out_pixel_aspect

The aspect ratio of the window defined as width / height in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowResolution (out float out_horizontal, out float out_vertical)

Shows both the horizontal and vertical resolution of the window. Resolution is computed as pixels per centimeter. If the size or the pixels are not set, this function will return false.

Param out_horizontal

The horizontal resolution of the window.

Param out_vertical

The vertical resolution of the window.

Return

true if the setting is valid, false otherwise.

bool ShowVideoMemory (out ulong out_video_memory)

Shows the number (in MB) of video memory available on the system.

Param out_video_memory

The number (in MB) of video memory available on the system.

Return

true if video memory can be queried from the hardware, false otherwise.

bool ShowWindowAspectRatio (out float out_window_aspect)

Shows the aspect ratio of the window. Aspect ratio is computed as width / height in centimeters.

Param out_window_aspect

The aspect ratio of the window defined as width / height in centimeters.

Return

true if the setting is valid, false otherwise.

bool ShowWindowPixels (out uint out_width, out uint out_height)

Shows the number of pixels in the window.

Param out_width

The width of the window in pixels.

Param out_height

The height of the window in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowWindowSize (out float out_width, out float out_height)

Shows the size, in centimeters, of the window.

Param out_width

The width of the window in centimeters.

Param out_height

The height of the window in centimeters.

Return

true if the setting is valid, false otherwise.

WindowInfoControl (HPS.WindowInfoControl in_that)

Initializes a control tied to the same object as in_that.

WindowInfoControl (HPS.WindowKey in_window)

Initializes a control tied to the window segment in_window.

class WindowInfoKit : public HPS.Kit

The WindowInfoKit class is a user space object, useful for carrying a group attribute settings.

Public Functions

override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.WindowInfoKit in_kit)

Check if the source WindowInfoKit is equivalent to this object.

Param in_kit

The source WindowInfoKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

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

Copies the source WindowInfoKit into this object.

Param in_kit

The source object to copy.

HPS.WindowInfoKit SetPhysicalPixels (uint in_width, uint in_height)

Sets the number of pixels in the physical display (monitor, off-screen renderer, printer, etc.).

Param in_width

The width of the physical display in pixels.

Param in_height

The height of the physical display in pixels.

Return

A reference to this object.

HPS.WindowInfoKit SetPhysicalSize (float in_width, float in_height)

Sets the size, in centimeters, of the physical display (monitor, off-screen renderer, printer, etc.).

Param in_width

The width of the physical display in centimeters.

Param in_height

The height of the physical display in centimeters.

Return

A reference to this object.

HPS.WindowInfoKit SetWindowPixels (uint in_width, uint in_height)

Sets the number of pixels in the window.

Param in_width

The width of the window in pixels.

Param in_height

The height of the window in pixels.

Return

A reference to this object.

HPS.WindowInfoKit SetWindowSize (float in_width, float in_height)

Sets the size, in centimeters, of the window.

Param in_width

The width of the window in centimeters.

Param in_height

The height of the window in centimeters.

Return

A reference to this object.

void Show (out HPS.WindowInfoKit out_kit)

Copies this object into the given WindowInfoKit.

Param out_kit

The WindowInfoKit to populate with the contents of this object.

bool ShowPhysicalPixels (out uint out_width, out uint out_height)

Shows the number of pixels in the physical display (monitor, off-screen renderer, printer, etc.).

Param out_width

The width of the physical display in pixels.

Param out_height

The height of the physical display in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowPhysicalSize (out float out_width, out float out_height)

Shows the size, in centimeters, of the physical display (monitor, off-screen renderer, printer, etc.).

Param out_width

The width of the physical display in centimeters.

Param out_height

The height of the physical display in centimeters.

Return

true if the setting is valid, false otherwise.

bool ShowPixelAspectRatio (out float out_pixel_aspect)

Shows the aspect ratio of the window’s pixels. This is computed as the horizontal resolution divided by the vertical resolution.

Param out_pixel_aspect

The aspect ratio of the window defined as width / height in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowResolution (out float out_horizontal, out float out_vertical)

Shows both the horizontal and vertical resolution of the window. Resolution is computed as pixels per centimeter. If the size or the pixels are not set, this function will return false.

Param out_horizontal

The horizontal resolution of the window.

Param out_vertical

The vertical resolution of the window.

Return

true if the setting is valid, false otherwise.

bool ShowWindowAspectRatio (out float out_window_aspect)

Shows the aspect ratio of the window. Aspect ratio is computed as width / height in centimeters.

Param out_window_aspect

The aspect ratio of the window defined as width / height in centimeters.

Return

true if the setting is valid, false otherwise.

bool ShowWindowPixels (out uint out_width, out uint out_height)

Shows the number of pixels in the window.

Param out_width

The width of the window in pixels.

Param out_height

The height of the window in pixels.

Return

true if the setting is valid, false otherwise.

bool ShowWindowSize (out float out_width, out float out_height)

Shows the size, in centimeters, of the window.

Param out_width

The width of the window in centimeters.

Param out_height

The height of the window in centimeters.

Return

true if the setting is valid, false otherwise.

HPS.WindowInfoKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.WindowInfoKit UnsetPhysicalPixels ()

Unsets the number of pixels in the physical display (monitor, off-screen renderer, printer, etc.).

Return

A reference to this object.

HPS.WindowInfoKit UnsetPhysicalSize ()

Unsets the size, in centimeters, of the physical display (monitor, off-screen renderer, printer, etc.).

Return

A reference to this object.

HPS.WindowInfoKit UnsetWindowPixels ()

Unsets the number of pixels in the window.

Return

A reference to this object.

HPS.WindowInfoKit UnsetWindowSize ()

Unsets the size, in centimeters, of the window.

Return

A reference to this object.

WindowInfoKit ()

Initializes an empty kit.

WindowInfoKit (HPS.WindowInfoKit in_kit)

Copies the kit in_kit into this kit.

class WindowKey : public HPS.SegmentKey

The WindowKey class is a smart pointer to a database object. Windows are special segments that are backed by a driver instance and a physical window. Some operations and attributes can only be performed or set from window keys. The WindowKey class itself is a base class for more specific window types (application windows, off-screen windows, stand-alone windows).

Subclassed by HPS.ApplicationWindowKey, HPS.OffScreenWindowKey, HPS.StandAloneWindowKey

Public Functions

bool ConvertCoordinate (HPS.Coordinate.Space in_space, HPS.Point in_point, HPS.Coordinate.Space in_output_space, out HPS.Point out_point)

Converts the point in_point from in_space to in_output_space using the transforms associated with this window. Returns success.

ulong FindFonts (out HPS.FontSearchResults out_results)

Searches the system for fonts.

Param out_results

Out parameter that contains results of the font search

Return

The number of fonts found

ulong FindHighlights (HPS.HighlightSearchOptionsKit in_options, out HPS.HighlightSearchResults out_results)

Searches for any highlights under this WindowKey.

Param in_options

Search options constraining what type of highlights to look for. If this is empty, all highlights will be returned.

Param out_results

The key paths under the window that are highlighted with the given search options.

Return

The number of highlighted key paths found.

ulong FindHighlights (HPS.KeyPath in_key_path, HPS.HighlightSearch.Scope in_scope, HPS.HighlightSearchOptionsKit in_options, out HPS.HighlightSearchResults out_results)

Searches for any highlights under this WindowKey.

Param in_key_path

The key path to scope this highlight search by.

Param in_scope

Determines how the scope is interpreted during a highlight search.

Param in_options

Search options constraining what type of highlights to look for. If this is empty, all highlights will be returned.

Param out_results

The key paths under the window that are highlighted with the given search options.

Return

The number of highlighted key paths found.

HPS.DebuggingControl GetDebuggingControl ()

Returns a control that allows the user to manipulate and query details of the debugging attribute on this segment.

HPS.EventDispatcher GetEventDispatcher ()

Returns a control that allows the user to interact with events in various ways.

HPS.HighlightControl GetHighlightControl ()

Returns a control that allows the user to highlight segments or geometry in this window.

HPS.PostProcessEffectsControl GetPostProcessEffectsControl ()

Returns a control that allows the user to manipulate and query details of the post-process effects attribute on this segment.

HPS.SelectionControl GetSelectionControl ()

Returns a control that allows the user to perform selections in this window.

HPS.SelectionOptionsControl GetSelectionOptionsControl ()

Returns a control that allows the user to manipulate and query details of the selection options on this window.

HPS.UpdateOptionsControl GetUpdateOptionsControl ()

Returns a control that allows the user to change update options in this window.

HPS.WindowInfoControl GetWindowInfoControl ()

Returns a control that allows the user to query various window properties, including size, aspect ratio, resolution, etc.

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.

HPS.WindowKey SetDebugging (HPS.DebuggingKit in_kit)

Sets the debugging attributes designated by in_kit on this segment.

HPS.WindowKey SetDriverEventHandler (HPS.DriverEventHandler in_handler, IntPtr in_type)

Sets the specified driver event handler as the handler for the specified driver event type on this window.

Param in_handler

Driver event handler to be set.

Param in_type

Type of driver event to add the handler for.

HPS.WindowKey SetPostProcessEffects (HPS.PostProcessEffectsKit in_kit)

Sets the post-process effects attributes designated by in_kit on this segment.

HPS.WindowKey SetSelectionOptions (HPS.SelectionOptionsKit in_kit)

Sets the options that will be used by default for selections performed from this window. Note: these options cannot be unset.

HPS.WindowKey SetUpdateOptions (HPS.UpdateOptionsKit in_kit)

Sets the options that will be used by default for update options performed from this window. Note: these options cannot be unset.

bool ShowDebugging (out HPS.DebuggingKit out_kit)

Shows the debugging attribute settings on this segment.

Return

False if no debugging attribute settings exist on this segment.

bool ShowPostProcessEffects (out HPS.PostProcessEffectsKit out_kit)

Shows the post-process effects attribute settings on this segment. Returns false if no post-process effects attribute settings exist on this segment.

bool ShowSelectionOptions (out HPS.SelectionOptionsKit out_kit)

Shows the options that will be used by default for selections performed from this window.

bool ShowSnapshot (out HPS.ImageKit out_kit)

Shows the current display as an image. Note: this will return false if an Update was never made or if the window key has framebuffer retention disabled.

Param out_kit

An image kit to show the display into.

Return

true if able to show display into ImageKit, false otherwise.

bool ShowUpdateOptions (out HPS.UpdateOptionsKit out_kit)

Shows the options that will be used by default for update options performed from this window.

HPS.WindowKey UnsetDriverEventHandler (IntPtr in_type)

Unsets the driver event handler for the specified driver event type on this window.

Param in_type

Type of driver event to remove the handler for

void Update ()

Performs a default update in this window, redrawing and refreshing the display.

void Update (HPS.UpdateOptionsKit in_kit)

Performs an update in this window, redrawing and refreshing the display using the options in the UpdateOptionsKit.

Param in_kit

Allows the user to control how thorough an update should be.

void Update (HPS.Window.UpdateType in_type)

Performs an update in this window within the specified amount of time, redrawing and refreshing the display based on the Window.UpdateType value. Key behavioral notes regarding a timed-update:

  • Geometry deferral/omission

    • View-dependent shadows will not be drawn (view-independent shadows will be drawn.)

    • Transparent geometry will be deferred and processed after the rest of the scene.

    • If static tree + lmv is enabled, text and lines will be deferred and drawn after opaque facetted geometry

  • Non-incremental rendering modes/attributes

    • A timed update requires Visualize to interrupt the rendering process. However, certain types of rendering modes/attributes cannot be interrupted because they are ‘non-incremental’. - If your application wishes to use such modes/attributes alongside fixed-framerate, it will need to make a decision about whether Fixed-framerate is preferred. They include: - HiddenLine and FastHiddenLine rendering algorithms

      • Transparency that is drawn using ‘depth peeling’. (All depth-peeled transparent geometry will be processed once it is started.)

void Update (HPS.Window.UpdateType in_type, double in_time_limit)

Performs an update in this window within the specified amount of time, redrawing and refreshing the display based on the Window.UpdateType value. Key behavioral notes regarding a timed-update:

  • Geometry deferral/omission

    • View-dependent shadows will not be drawn (view-independent shadows will be drawn.)

    • Transparent geometry will be deferred and processed after the rest of the scene.

    • If static tree + lmv is enabled, text and lines will be deferred and drawn after opaque facetted geometry

  • Non-incremental rendering modes/attributes

    • A timed update requires Visualize to interrupt the rendering process. However, certain types of rendering modes/attributes cannot be interrupted because they are ‘non-incremental’. - If your application wishes to use such modes/attributes alongside fixed-framerate, it will need to make a decision about whether Fixed-framerate is preferred. They include: - HiddenLine and FastHiddenLine rendering algorithms

      • Transparency that is drawn using ‘depth peeling’. (All depth-peeled transparent geometry will be processed once it is started.)

Param in_time_limit

Specifies the desired maximum time this update should take.

HPS.UpdateNotifier UpdateWithNotifier ()

Performs a default update in this window, redrawing and refreshing the display.

Return

A UpdateNotifier object that can be used to find out information about the update.

HPS.UpdateNotifier UpdateWithNotifier (HPS.UpdateOptionsKit in_kit)

Performs a default update in this window, redrawing and refreshing the display.

Return

A UpdateNotifier object that can be used to find out information about the update.

HPS.UpdateNotifier UpdateWithNotifier (HPS.Window.UpdateType in_type)

Performs an update in this window, redrawing and refreshing the display.

Param in_type

Allows the user to control how thorough an update should be.

Return

A UpdateNotifier object that can be used to find out information about the update.

HPS.UpdateNotifier UpdateWithNotifier (HPS.Window.UpdateType in_type, double in_time_limit)

Performs an update in this window, redrawing and refreshing the display.

Param in_type

Allows the user to control how thorough an update should be.

Param in_time_limit

Specifies a maximum time this update should take.

Return

A UpdateNotifier object that can be used to find out information about the update.

WindowKey ()

An uninitialized key refers to no database object and Type() will return Type.None.

WindowKey (HPS.Key in_key)

Shares a reference to a database object referred to by in_that. If the key assignment is invalid, this key will revert to an uninitialized state.

WindowKey (HPS.WindowKey in_window)

Shares a reference to a database object referred to by in_window.

class WindowKeyArray : public HPS::InternalHPSArray<HPS.WindowKey>
struct WindowPoint
class WindowPointArray : public HPS::InternalHPSBlittableArray<HPS.WindowPoint>
class World : public HPS.Object

The World class is a special object that must be constructed prior to making any database calls and must exist for the life of the application.

Public Functions

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.

HPS.World SetDriverConfigFile (string in_filename)

Sets the driver configuration file (i.e., a plain text file which can force device specific behavior) for Visualize. To ensure the settings within the configuration file take effect, this file must be specified prior to creating a driver which will be affected by the settings.

Param in_filename

UTF8-encoded file name.

Return

A reference to this World object.

HPS.World SetExchangeLibraryDirectory (string in_directory)

Sets the directory which contains the Exchange and Publish libraries. If this is set, the Exchange and Publish Visualize modules will try to load the libraries from this directory. If this is not set, those modules will try to load the libraries from the directories in the application’s PATH. Note that this function will append the given directory to the PATH.

Param in_directory

UTF8-encoded directory name.

Return

A reference to this World object.

HPS.World SetFontDirectories (string[] in_directories)

Sets the directories which contain fonts for use by Visualize. This must be specified for Visualize to make use of any fonts beyond those Visualize defines itself.

Param in_directories

Array of UTF8-encoded directory names.

Return

A reference to this World object.

HPS.World SetFontDirectory (string in_directory)

Sets the directory which contains fonts for use by Visualize. This must be specified for Visualize to make use of any fonts beyond those Visualize defines itself.

Param in_directory

UTF8-encoded directory name.

Return

A reference to this World object.

HPS.World SetMaterialLibraryDirectory (string in_directory)

Sets the directory which contains the material library for Visualize. This must be specified to ensure any files which use the material library display correctly.

Param in_directory

UTF8-encoded directory name.

Return

A reference to this World object.

HPS.World SetParasolidBodyshopDirectory (string in_directory)

Sets the Parasolid Bodyshop directory. If this directory is specified, Exchange will use the Parasolid Bodyshop to translate files to Parasolid parts.

Param in_directory

UTF8-encoded directory name.

Return

A reference to this World object.

HPS.World SetParasolidSchemaDirectory (string in_directory)

Sets the schema directory for Parasolid. This directory must be specified to make use of the Parasolid module.

Note

Using this function will set the P_SCHEMA environment variable to the given directory as well.

Param in_directory

UTF8-encoded directory name.

Return

A reference to this World object.

HPS.World SetPublishResourceDirectory (string in_directory)

Sets the resource directory for Publish. This is not the directory which contains the libraries (see World.SetExchangeLibraryDirectory), but rather the directory which contains fonts and associated mappings and files used during PDF generation. This directory must be specified to make use of the Publish module.

Param in_directory

UTF8-encoded directory name.

Return

A reference to this World object.

bool ShowDriverConfigFile (out string out_filename)

Shows the driver configuration file for Visualize.

Param out_filename

UTF8-encoded file names.

Return

true if font directories were specified, false otherwise.

bool ShowExchangeLibraryDirectory (out string out_directory)

Shows the Exchange and Publish library directory.

Param out_directory

UTF8-encoded directory name.

Return

true if an Exchange and Publish directory was specified, false otherwise.

bool ShowMaterialLibraryDirectory (out string out_directory)

Shows the material library directory for Visualize.

Param out_directory

UTF8-encoded directory name.

Return

true if a material library directory was specified, false otherwise.

bool ShowParasolidBodyshopDirectory (out string out_directory)

Shows the Parasolid Bodyshop directory.

Param out_directory

UTF8-encoded directory name.

Return

true if a Parasolid Bodyshop directory was specified, false otherwise.

bool ShowParasolidSchemaDirectory (out string out_directory)

Shows the Parasolid schema directory.

Param out_directory

UTF8-encoded directory name.

Return

true if a Parasolid schema directory was specified, false otherwise.

bool ShowPublishResourceDirectory (out string out_directory)

Shows the Publish resource directory.

Param out_directory

UTF8-encoded directory name.

Return

true if a Publish resource directory was specified, false otherwise.

HPS.World UnsetDriverConfigFile ()

Removes the driver configuration file for Visualize.

Return

A reference to this World object.

HPS.World UnsetExchangeLibraryDirectory ()

Removes the Exchange and Publish library directory. Note, this will remove the previously specified directory from the PATH.

Return

A reference to this World object.

HPS.World UnsetFontDirectories ()

Removes the font directories for Visualize.

Return

A reference to this World object.

HPS.World UnsetMaterialLibraryDirectory ()

Removes the material library directory for Visualize.

Return

A reference to this World object.

HPS.World UnsetParasolidBodyshopDirectory ()

Removes the Parasolid Bodyshop directory.

Return

A reference to this World object.

HPS.World UnsetParasolidSchemaDirectory ()

Removes the Parasolid schema directory.

Return

A reference to this World object.

HPS.World UnsetPublishResourceDirectory ()

Removes the Publish resource directory.

Return

A reference to this World object.

World (string in_license)

This constructor creates a new World object with the given license. The license string determines what functionality is available in Visualize. There should only be one World object that is constructed during the life of the application. Optionally it is possible to start Code Generation, which logs every call to the HPS API for debugging purposes. While Code Generation is active, HPS performance will be slower than usual.

Param in_license

UTF8-encoded license string for Visualize.

World (string in_license, string in_code_generation_directory)

This constructor creates a new World object with the given license. The license string determines what functionality is available in Visualize. There should only be one World object that is constructed during the life of the application. Optionally it is possible to start Code Generation, which logs every call to the HPS API for debugging purposes. While Code Generation is active, HPS performance will be slower than usual.

Param in_license

UTF8-encoded license string for Visualize.

Param in_code_generation_directory

UTF8-encoded directory where the output of Code Generation will be stored. The directory must already exist.

Public Static Functions

bool IsInitialized ()

Returns the state of the World

Return

true if the World has been initialized; otherwise false if the World is not initialized or has been deconstructed.

void StopCodeGeneration ()

Stops Code Generation.

struct WorldPoint
class WorldPointArray : public HPS::InternalHPSBlittableArray<HPS.WorldPoint>
namespace hps
class HPSInternalDriverEventTypeCast
class HPSInternalEventTypeCast
class HPSInternalStreamExportEventTypeCast
class HPSInternalStreamImportEventTypeCast
class HPSInternalTypeCast
Return to top