HPS.Stream

class HPS.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