OOC
- class HPS.OOC : public IDisposable
The OOC class contains objects used for importing OOC files.
Public Types
- enum IOResult
Designates the status of an IO operation.
Values:
- Success
- ErrorInvalidPointCloud
- ErrorUnknownFailure
- ErrorNoOOCView
- ErrorCyclicFileDependencies
- ErrorSerializationFailure
- ErrorDeserializationFailure
- ErrorIllegalFileName
- ErrorFileSystemFailure
- ErrorOOCRootAlreadyExists
- ErrorInvalidBuffer
- class Area : public IDisposable
The Area class is represents a quadrilateral area for highlighting.
Public Functions
- Area ()
- Area (HPS.OOC.Area in_that)
- Area (HPS.Rectangle in_rect, HPS.MatrixKit in_world_to_window, string in_name)
- void Dispose ()
- HPS.MatrixKit GetWorldToWindow ()
- bool Intersects (HPS.Point world_space_point)
Determines if a point intersects this Area.
- Param world_space_point
The point to test
- Return
true if the point intersects this area, false otherwise.
- bool Intersects (HPS.SimpleCuboid world_space_bounding)
Determines if a cuboid intersects this Area.
- Param world_space_bounding
The cuboid to test
- Return
true if the cuboid interects this area, false otherwise.
- class AreaHighlightTracker : public IDisposable
Override this class to customize Area Highlighting.
Public Functions
- void AddArea (HPS.Rectangle in_rect, HPS.MatrixKit in_world_to_window, bool in_clear)
Adds an Area to track.
- void AddPoint (HPS.WorldPoint in_point, bool in_clear)
Adds a world space point to track.
- Param in_point
The world space point being tracking.
- Param in_clear
Indicates if all preexisting point should be removed before adding this new point.
- AreaHighlightTracker (HPS.Canvas in_canvas, HPS.SegmentKey in_area_cameras)
- AreaHighlightTracker (HPS.OOC.AreaHighlightTracker in_that)
- void Clear ()
Removes all Areas from this object.
- void Dispose ()
- delegate void DtorDelegate (IntPtr cPtr)
- bool Empty ()
Returns true if this object is not tracking any Areas.
- HPS.SegmentKey GetAreaCameraSegment ()
Returns the Camera SegmentKey associated with this object.
- HPS.OOC.Area[] GetAreas ()
Returns an array of all of the tracked Areas.
- HPS.Canvas GetCanvas ()
Returns the Canvas associated with this object.
- bool GetInspecting ()
- HPS.WindowKey GetWindowKey ()
Returns the WindowKey associated with this object.
- bool Intersects (HPS.Point world_space_point)
Determines if a point intersects any of the tracked Areas.
- Param world_space_point
The point to test
- Return
true if the point intersects one of the tracked Areas, false otherwise.
- bool Intersects (HPS.SimpleCuboid world_space_bounding)
Determines if a cuboid intersects any of the tracked Areas.
- Param world_space_bounding
The cuboid to test
- Return
true if the cuboid intersects one of the tracked Areas, false otherwise.
- class File : public IDisposable
The File class provides functions to import OOC files.
Public Static Functions
- HPS.OOC.ImportNotifier Import (string in_file_name, HPS.OOC.ImportOptionsKit in_options)
Performs an asynchronous import of the specified OOC file with the provided options. May throw an IOException prior to starting the asynchronous import.
- class ImportNotifier : public HPS.IONotifier
The ImportNotifier class is a smart-pointer that is tied to a file import. It is used to interact with an ongoing import or get the results from a completed import.
Public Functions
- void Assign (HPS.OOC.ImportNotifier in_that)
Associate this ImportNotifier with the same file import as the source ImportNotifier.
- Param in_that
The source ImportNotifier for the assignment.
- override void Dispose ()
- HPS.Model GetTarget ()
Get the the Model where the OOC data was imported into. 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 tied to 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.OOC.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.Sprocket
The ImportOptionsKit class is a user space object. It contains settings controlling what and how data is imported via OOC.
Public Functions
- override void Dispose ()
- 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.OOC.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.
- override bool Equals (Object obj)
- override int GetHashCode ()
- ImportOptionsKit ()
The default constructor creates an empty ImportOptionsKit object.
- ImportOptionsKit (HPS.OOC.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.OOC.ImportOptionsKit in_kit)
Copies the source ImportOptionsKit into this ImportOptionsKit.
- Param in_kit
The source ImportOptionsKit to copy.
- HPS.OOC.ImportOptionsKit SetAreaHighlightTracker (HPS.OOC.AreaHighlightTracker in_area_highlight_tracker)
Sets the AreaHighlightTracker.
Note
You should pass in an instance of a class that derives from AreaHighlightTracker that implements your desired behavior.
- Param in_area_highlight_tracker
The AreaHighlightTracker to use for this
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit SetCenterBounding (bool in_center_bounding)
Configures the model set a transform to the center of the bounding.
- Param in_center_bounding
The new center bounding setting
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit SetManualUpdates (bool in_manual_updates)
Configures the model to only load based on manual updates.
- Param in_manual_updates
The new manual update setting
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit SetTarget (HPS.Model in_target)
Uses the Model to set the root segment, library segment, and portfolio where the data will be imported.
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit SetTranslation (double in_x, double in_y, double in_z)
Configures a translate to be set on the model.
- Param in_x
The x translate
- Param in_y
The y translate
- Param in_z
The z translate
- Return
A reference to this ImportOptionsKit.
- void Show (out HPS.OOC.ImportOptionsKit out_kit)
Copies this ImportOptionsKit into the given ImportOptionsKit.
- Param out_kit
The ImportOptionsKit to populate with the contents of this ImportOptionsKit.
- bool ShowCenterBounding (out bool out_center_bounding)
Shows if the model is configured to transform to the center of the bounding.
- Param out_center_bounding
The current center bounding setting
- Return
Returns false if there is no manual update setting.
- bool ShowManualUpdates (out bool out_manual_updates)
Shows if the model is configured to only load based on manual updates.
- Param out_manual_updates
The current manual update setting
- Return
Returns false if there is no manual update setting.
- bool ShowTarget (out HPS.Model out_model)
Shows the root and library segments and portfolio where the data will be imported. If no segments are specified, root segments will be created for this purpose during import.
- Param out_model
Model to use to implicitly set Segment, Library and Portfolio into which the data will be imported.
- Return
Returns false if there is no target, false otherwise.
- bool ShowTranslation (out double out_x, out double out_y, out double out_z)
Shows if a translate is set.
- Param out_x
The x translate
- Param out_y
The y translate
- Param out_z
The z translate
- Return
Returns false if there is no manual update setting.
- HPS.OOC.ImportOptionsKit UnsetAreaHighlightTracker ()
Removes the AreaHighlightTracker.
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit UnsetCenterBounding ()
Removes the center bounding setting.
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit UnsetEverything ()
Removes all settings from this ImportOptionsKit.
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit UnsetManualUpdates ()
Removes the manual update setting.
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit UnsetTarget ()
Removes the target and library segments, and Model import state.
- Return
A reference to this ImportOptionsKit.
- HPS.OOC.ImportOptionsKit UnsetTranslation ()
Removes a translate setting.
- Return
A reference to this ImportOptionsKit.
Public Static Functions
- HPS.OOC.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. These values will be used for import unless an option is overridden by the options passed to File.Import.
- Return
An ImportOptionsKit with the default settings.
- bool operator!= (HPS.OOC.ImportOptionsKit a, HPS.OOC.ImportOptionsKit b)
- bool operator== (HPS.OOC.ImportOptionsKit a, HPS.OOC.ImportOptionsKit b)
- class NodeHandle : public IDisposable
Public Functions
- void Dispose ()
- bool Empty ()
Check the state of the NodeHandle.
- Return
Returns true if this NodeHandle doesn’t exist.
- bool Equals (HPS.OOC.NodeHandle other)
- override bool Equals (Object obj)
- override int GetHashCode ()
- HPS.SegmentKey GetSegment ()
Get the SegementKey associated with this node.
- Return
Returns the SegmentKey, if any.
- HPS.ShellKey GetShell ()
Get the ShellKey associated with this node. This is unsynchronized.
- Return
Returns the ShellKey, if any.
Public Static Functions
- bool operator!= (HPS.OOC.NodeHandle a, HPS.OOC.NodeHandle b)
- bool operator== (HPS.OOC.NodeHandle a, HPS.OOC.NodeHandle b)
- class PointCloud : public IDisposable
The PointCloud class provides interactions with a OOC point cloud.
Public Functions
- HPS.OOC.IOResult CommitDeltasToFile ()
Saves to disk any changes made to the point cloud. Beware that moving or renaming dependent files will impact the saved delta file (OOCD) because the OOCD file references them. The most likely result would be that the file cannot be loaded.
A file is generated in the directory xxx/yyy_deltas/ as zzz.oocd where
-
xxx is the root directory for the OOC files
-
yyy is given by xxx/yyy.ooc
-
zzz is the generated file_name for the changes saved to disk.
-
xxx is C:/some_dir/ooc_house_root
-
yyy is house
-
zzz is 00535fe253-0000251e
- Return
an IOResult return code.
-
- HPS.OOC.IOResult CommitDeltasToFile (out string out_delta_file_name)
- bool DeleteFromPointCloud (HPS.OOC.AreaHighlightTracker tracker)
Deletes points that intersect the areas from the provided tracker.
- Return
Returns true if no error occurs Returns false otherwise.
- void Destroy ()
Releases and removes point cloud. This is automatic when model is deleted.
- void Dispose ()
- bool Empty ()
Check the state of the PointCloud.
- Return
Returns true if this PointCloud doesn’t exist.
- bool Equals (HPS.OOC.PointCloud other)
- override bool Equals (Object obj)
- override int GetHashCode ()
- HPS.OOC.NodeHandle GetNodeHandle (HPS.SegmentKey node_key)
Get a NodeHandle associated with a specific segment.
- Param node_key
The SegmentKey for the requested Node.
- Return
Returns the NodeHandle for the provided segment.
- HPS.SegmentKey GetSegment ()
Gets a the top segment for this PointCloud.
- Return
Returns the top segment for this PointCloud.
- bool HasUncommittedDeltas ()
Queries whether or not there are any uncommitted deltas in memory for a particular PointCloud.
- Return
Returns true if there have been any changes made to the point cloud that have not been committed to disk. Returns false otherwise.
- PointCloud ()
Constructs an uninitialized point cloud.
- Return
The uninitialized point cloud.
- PointCloud (HPS.Model in_model)
Constructs a point cloud under an existing Model.
- Return
The point cloud.
- bool PollUpdateNeeded ()
Used with manual updates load option. If this returns true an Update must be called on the model.
- Return
Returns true if the model must be updated otherwise it returns false.
- HPS.OOC.QueryIterator QueryPoints (HPS.OOC.QueryFilter filter)
Begin a query.
- Param filter
The filter to apply to the query.
- Return
Returns the QueryIterator.
- void Release ()
Removes ooc hooks. This is automatic when model is deleted.
- HPS.OOC.SynchronizedActions.Result Synchronize (HPS.OOC.Synchronized synchronized)
Begin a synchronized action.
- Param synchronized
The object to synchronize.
- Return
Returns the result of the synchronized actions.
Public Static Functions
- bool operator!= (HPS.OOC.PointCloud a, HPS.OOC.PointCloud b)
- bool operator== (HPS.OOC.PointCloud a, HPS.OOC.PointCloud b)
- bool ShowPointClouds (HPS.Model in_model, out HPS.OOC.PointCloud[] out_point_clouds)
Returns an array of PointClouds that exist under this model.
- Param in_model
The the model to use.
- class QueryFilter : public IDisposable
QueryFilter is an class used to indicate what point data should be retrieved from OOC.PointCloud.QueryPoints. The default QueryFilter rejects nothing.
Public Functions
- bool AcceptPoint (HPS.Point point, ulong point_index)
Determines whether or not a single point is accepted by the filter.
- Param point
The coordinates of the point to accept or not in object space.
- Param point_index
The index of the point to accept or not.
- Return
Returns true if the point is accepted. Returns false otherwise.
- void Dispose ()
- delegate void DtorDelegate (IntPtr cPtr)
- QueryFilter ()
- QueryFilter (HPS.OOC.QueryFilter in_that)
- bool RejectBounding (HPS.Point min_bound, HPS.Point max_bound)
Determines whether or not a bounding box of points is rejected by the filter.
- Param min_bound
The minimum corner of the bounding box to accept or reject in object space.
- Param max_bound
The maximum corner of the bounding box to accept or reject in object space.
- Return
Returns true if the bounding is rejected. Returns false otherwise.
- bool RejectNode (HPS.OOC.NodeHandle node_handle)
Determines whether or not a point cloud node is rejected by the filter.
- Param node_handle
The handle of the node to accept or reject.
- Return
Returns true if the node is rejected. Returns false otherwise.
- bool RejectPointsInMemory ()
Determines whether or not points in memory are rejected by the filter.
- Return
Returns true if the filter rejects points that are loaded into memory. Returns false otherwise.
- bool RejectPointsOnDisk ()
Determines whether or not points not in memory are rejected by the filter.
- Return
Returns true if the filter rejects points that are not loaded into memory. Returns false otherwise.
- class QueryIterator : public IDisposable
The iterator returned from a call to OOC.PointCloud.QueryPoints.
Public Types
Public Functions
- void Dispose ()
- HPS.OOC.NodeHandle GetNodeHandle ()
Yields the currently processed point’s node handle.
- Return
the node handle of the current result
- HPS.Point GetNodePoint ()
Yields the currently processed point’s coordinates in object space.
- Return
the object space coordinates for the point of the current result
- HPS.RGBColor GetNodePointColor ()
Yields the currently processed point’s RGB color.
- Return
the RGB color for the point of the current result
- ulong GetNodePointIndex ()
Yields the currently processed point’s index.
- Return
the index for the point of the current result.
- HPS.OOC.QueryIterator.Status GetStatus ()
- return
the status of the iterator.
- HPS.OOC.QueryIterator.Storage GetStorage ()
Yields the currently processed point’s storage.
- Return
the storage for the point of the current result.
- void Next ()
Advances the iterator to the next point result. This is only legal to call when this->GetStatus() returns OOC.QueryIterator.Status.Alive.
- QueryIterator ()
Constructs a dead query iterator.
- Return
The dead iterator
- class Synchronized : public IDisposable
Override this class to access SynchronizedActions on a point cloud.
Public Functions
- HPS.OOC.SynchronizedActions.Result Actions (HPS.OOC.SynchronizedActions actions)
A virtual function for performing actions on a point cloud in a synchronized mannor. Override this function to call SynchronizedActions on a point cloud by calling PointCloud.Synchronize.
- Param actions
A SynchronizedActions object that enables you to perform delete and optimize operations on the point cloud.
- Return
The result of the action.
- void Dispose ()
- delegate void DtorDelegate (IntPtr cPtr)
- Synchronized ()
- Synchronized (HPS.OOC.Synchronized in_that)
- class SynchronizedActions : public IDisposable
This class provides ways to create and optimize OOC deltas.
Public Types
Public Functions
- HPS.OOC.SynchronizedActions.Result DeleteNode (HPS.OOC.NodeHandle node_handle)
Remove a whole node in the OOC model.
- Param node_handle
The node to apply to delete from the point cloud.
- Return
The result of the action.
- HPS.OOC.SynchronizedActions.Result DeleteSpecificPoints (HPS.OOC.NodeHandle node_handle, Int32[] point_indices, ulong count)
- void Dispose ()
- HPS.OOC.SynchronizedActions.Result OptimizeDeltas ()
Optimize the deltas for this model.
- Return
The result of the action.
- SynchronizedActions (HPS.OOC.SynchronizedActions in_that)