Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::OOC::PointCloud Class Reference

The PointCloud class provides interactions with a OOC point cloud. More...

#include <sprk_ooc.h>

Collaboration diagram for HPS::OOC::PointCloud:

Public Member Functions

 PointCloud (HPS::Model const &in_model)
 
 PointCloud (PointCloud &&that)
 
 ~PointCloud ()
 
bool Equals (PointCloud const &other) const
 
bool operator== (PointCloud const &other) const
 
bool operator!= (PointCloud const &other) const
 
bool Empty ()
 Check the state of the PointCloud. More...
 
HPS::SegmentKey GetSegment ()
 Gets a the top segment for this PointCloud. More...
 
void Destroy ()
 Releases and removes point cloud. More...
 
void Release ()
 Removes ooc hooks. More...
 
NodeHandle GetNodeHandle (HPS::SegmentKey const &node_key)
 Get a NodeHandle associated with a specific segment. More...
 
bool PollUpdateNeeded ()
 Used with manual updates load option. More...
 
HPS::OOC::SynchronizedActions::Result Synchronize (Synchronized &synchronized)
 Begin a synchronized action. More...
 
OOC::QueryIterator QueryPoints (QueryFilter &filter)
 Begin a query. More...
 
IOResult CommitDeltasToFile ()
 Saves to disk any changes made to the point cloud. More...
 
IOResult CommitDeltasToFile (HPS::UTF8 &out_delta_file_name)
 
bool HasUncommittedDeltas ()
 Queries whether or not there are any uncommitted deltas in memory for a particular PointCloud. More...
 
bool DeleteFromPointCloud (HPS::OOC::AreaHighlightTracker &tracker)
 Deletes points that intersect the areas from the provided tracker. More...
 

Private Member Functions

 PointCloud ()
 Private default constructor to prevent instantiation. More...
 
 PointCloud (void *in_opaque)
 
 PointCloud (PointCloud const &that)=delete
 

Private Attributes

void * opaque
 

Detailed Description

The PointCloud class provides interactions with a OOC point cloud.

Constructor & Destructor Documentation

◆ PointCloud() [1/5]

HPS::OOC::PointCloud::PointCloud ( HPS::Model const &  in_model)

◆ PointCloud() [2/5]

HPS::OOC::PointCloud::PointCloud ( PointCloud &&  that)

◆ ~PointCloud()

HPS::OOC::PointCloud::~PointCloud ( )

◆ PointCloud() [3/5]

HPS::OOC::PointCloud::PointCloud ( )
private

Private default constructor to prevent instantiation.

◆ PointCloud() [4/5]

HPS::OOC::PointCloud::PointCloud ( void *  in_opaque)
private

◆ PointCloud() [5/5]

HPS::OOC::PointCloud::PointCloud ( PointCloud const &  that)
privatedelete

Member Function Documentation

◆ CommitDeltasToFile() [1/2]

IOResult HPS::OOC::PointCloud::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.

Example: C:/some_dir/ooc_house_root/house.ooc C:/some_dir/ooc_house_root/house_deltas/00535fe253-0000251e.oocd Here

  • xxx is C:/some_dir/ooc_house_root
  • yyy is house
  • zzz is 00535fe253-0000251e
Returns
an IOResult return code.

◆ CommitDeltasToFile() [2/2]

IOResult HPS::OOC::PointCloud::CommitDeltasToFile ( HPS::UTF8 out_delta_file_name)

◆ DeleteFromPointCloud()

bool HPS::OOC::PointCloud::DeleteFromPointCloud ( HPS::OOC::AreaHighlightTracker tracker)

Deletes points that intersect the areas from the provided tracker.

Returns
Returns true if no error occurs Returns false otherwise.

◆ Destroy()

void HPS::OOC::PointCloud::Destroy ( )

Releases and removes point cloud.

This is automatic when model is deleted.

◆ Empty()

bool HPS::OOC::PointCloud::Empty ( )

Check the state of the PointCloud.

Returns
Returns true if this PointCloud doesn't exist.

◆ Equals()

bool HPS::OOC::PointCloud::Equals ( PointCloud const &  other) const

◆ GetNodeHandle()

NodeHandle HPS::OOC::PointCloud::GetNodeHandle ( HPS::SegmentKey const &  node_key)

Get a NodeHandle associated with a specific segment.

Parameters
node_keyThe SegmentKey for the requested Node.
Returns
Returns the NodeHandle for the provided segment.

◆ GetSegment()

HPS::SegmentKey HPS::OOC::PointCloud::GetSegment ( )

Gets a the top segment for this PointCloud.

Returns
Returns the top segment for this PointCloud.

◆ HasUncommittedDeltas()

bool HPS::OOC::PointCloud::HasUncommittedDeltas ( )

Queries whether or not there are any uncommitted deltas in memory for a particular PointCloud.

Returns
Returns true if there have been any changes made to the point cloud that have not been committed to disk. Returns false otherwise.

◆ operator!=()

bool HPS::OOC::PointCloud::operator!= ( PointCloud const &  other) const

◆ operator==()

bool HPS::OOC::PointCloud::operator== ( PointCloud const &  other) const

◆ PollUpdateNeeded()

bool HPS::OOC::PointCloud::PollUpdateNeeded ( )

Used with manual updates load option.

If this returns true and update must be called on the model.

Returns
Returns true if the model must be updated otherwise it returns false.

◆ QueryPoints()

OOC::QueryIterator HPS::OOC::PointCloud::QueryPoints ( QueryFilter filter)

Begin a query.

Parameters
filterThe filter to apply to the query.
Returns
Returns the QueryIterator.

◆ Release()

void HPS::OOC::PointCloud::Release ( )

Removes ooc hooks.

This is automatic when model is deleted.

◆ Synchronize()

HPS::OOC::SynchronizedActions::Result HPS::OOC::PointCloud::Synchronize ( Synchronized synchronized)

Begin a synchronized action.

Parameters
synchronizedThe object to synchronize.
Returns
Returns the result of the synchronized actions.

Member Data Documentation

◆ opaque

void* HPS::OOC::PointCloud::opaque
private

The documentation for this class was generated from the following file: