OOC
-
class
HPS.OOC: 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.
Param in_rect: The quadrilateral area to being tracking. Param in_world_to_window: The MatrixKit associated with this Area. Param in_clear: Indicates if all preexisting Areas should be removed before adding this new Area.
-
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.
-
void
AddSection(HPS.Plane[] in_planes) Adds a CuttingSection to track.
Param in_planes: The section to also track.
-
void
AddSection(HPS.Plane[] in_planes, bool in_clear) Adds a CuttingSection to track.
Param in_planes: The section to also track. Param in_clear: Indicates if all preexisting Sections should be removed before adding this new Section.
-
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.
-
void
-
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.
- Deprecated:
This function has been deprecated, please use Import with an ImportNotifier as parameter.
Param in_file_name: The name of the OOC file to import. Param in_options: The options controlling the import of the OOC file. Return: An ImportNotfier object that can be used to query the import progress and status.
-
void
Import(string in_file_name, HPS.OOC.ImportOptionsKit in_options, HPS.OOC.ImportNotifier in_notifier) Performs an asynchronous import of the specified OOC file with the provided options. May throw an IOException prior to starting the asynchronous import.
Param in_file_name: The name of the OOC file to import. Param in_options: The options controlling the import of the OOC file. Param in_notifier: An ImportNotfier object that can be used to query the import progress and status.
-
HPS.OOC.ImportNotifier
-
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
-
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)
-
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
-
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)
-
override void
-
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)
-
void
-
class
PointCloud: public IDisposable The PointCloud class provides interactions with a OOC point cloud.
Public Functions
-
ulong
AddPoints(HPS.Point[] points, float[] intensities, HPS.RGBColor[] color) Param points: The points to add Param intensities: The intensities for each points Param color: The color for each points Return: number of points added
-
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)
-
void
Export() Export the point cloud to the ooc file
-
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) Retrieve an already displayed point cloud under an existing Model.
Return: The point cloud.
-
PointCloud(HPS.Model in_model, HPS.OOC.PointCloudOptions pointCloudOptions) Constructs a new point cloud under an existing Model, with a bounding box.
Param in_model: HPS.Model to use Param pointCloudOptions: Options for the new PointCloud
-
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.
-
ulong
-
class
PointCloudOptions: public IDisposable
-
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.
-
bool
-
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
-
void
-
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)
-
HPS.OOC.SynchronizedActions.Result
-
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)
-
HPS.OOC.SynchronizedActions.Result
-
enum