ooc::delta Namespace Reference

Namespaces

 on_disk
 

Classes

class  InternalSynchronizer
 
class  OptimizeConfig
 
class  SyncToken
 

Enumerations

enum  ModifyResult {
  ModifyResult_Success, ModifyResult_Error_Unknown_Failure, ModifyResult_Error_Internal_Failure, ModifyResult_Error_Could_Not_Find_Node,
  ModifyResult_Error_Input_Indices_Are_Not_Strictly_Increasing, ModifyResult_Error_Illegal_Input_Indices, ModifyResult_Error_Corrupt_Node, ModifyResult_Error_File_System_Failure
}
 
enum  OptimizeResult { OptimizeResult_Success, OptimizeResult_Error_Unknown_Failure }
 
enum  SyncResult { SyncResult_Success }
 

Functions

OOC_API ModifyResult DeleteNode (SyncToken const &sync_token, NodeHandle const &node_handle)
 
OOC_API ModifyResult DeleteSpecificPoints (SyncToken const &sync_token, NodeHandle const &node_handle, int32_t const point_indices[], size_t count)
 
OOC_API OptimizeResult OptimizeDeltas (SyncToken const &sync_token, OptimizeConfig const &config)
 
OOC_API SyncResult SynchronizeWith (Env, std::function< void(SyncToken const &)>)
 

Variables

class OOC_API SyncToken
 

Enumeration Type Documentation

◆ ModifyResult

Enumerator
ModifyResult_Success 
ModifyResult_Error_Unknown_Failure 
ModifyResult_Error_Internal_Failure 
ModifyResult_Error_Could_Not_Find_Node 
ModifyResult_Error_Input_Indices_Are_Not_Strictly_Increasing 
ModifyResult_Error_Illegal_Input_Indices 
ModifyResult_Error_Corrupt_Node 
ModifyResult_Error_File_System_Failure 

◆ OptimizeResult

Designates the status of an optimize operation.

Enumerator
OptimizeResult_Success 
OptimizeResult_Error_Unknown_Failure 

◆ SyncResult

Designates the outcome of a synchronize operation.

Enumerator
SyncResult_Success 

Function Documentation

◆ DeleteNode()

OOC_API ModifyResult ooc::delta::DeleteNode ( SyncToken const &  sync_token,
NodeHandle const &  node_handle 
)

Deletes the given node. Subsequent uses of node_handle are illegal.

Parameters
sync_tokenA token passed in to guarantee that synchronization is taking place for a given point cloud.
node_handleThe handle of the node to be deleted.
Returns
an ooc::delta::ModifyResult return code.
See also
ooc::delta::SynchronizeWith

◆ DeleteSpecificPoints()

OOC_API ModifyResult ooc::delta::DeleteSpecificPoints ( SyncToken const &  sync_token,
NodeHandle const &  node_handle,
int32_t const  point_indices[],
size_t  count 
)

Deletes specific points of the given node. point_indices must satisfy the following:

  • contain no duplicate values
  • contain only values in the inclusive range [0, node_point_count - 1] (see ooc::query::PointCount)
  • be sorted in increasing order

If any of the above rules for point_indices are violated, an appropriate error code will be returned through the ooc::delta::ModifyResult return value.

Parameters
sync_tokenA token passed in to guarantee that synchronization is taking place for a given point cloud.
node_handleThe node handle of the points to be deleted.
point_indicesThe list of point indices to be deleted from the node given by node_handle.
countThe number of indices in point_indices
Returns
an ooc::delta::ModifyResult return code.
See also
ooc::delta::SynchronizeWith

◆ OptimizeDeltas()

OOC_API OptimizeResult ooc::delta::OptimizeDeltas ( SyncToken const &  sync_token,
OptimizeConfig const &  config 
)

Optimizes the internal representation of the changes made to the point cloud. This function is automatically performed when loading in an OOCD file from disk.

Parameters
sync_tokenA token passed in to guarantee that synchronization is taking place for a given point cloud.
configConfiguration options for optimization.
Returns
an ooc::delta::OptimizeResult return code
See also
ooc::delta::DeleteNode
ooc::delta::DeleteSpecificPoints
ooc::delta::SynchronizeWith

◆ SynchronizeWith()

OOC_API SyncResult ooc::delta::SynchronizeWith ( Env  env,
std::function< void(SyncToken const &)>  func 
)
inline

Allows users to call functions that require synchronization. This is done through the func callback passed into this function. func is called with an ooc::delta::SyncToken reference that corresponds to the environment env passed into this function. Thus the OOC API functions that accept an ooc::delta::SyncToken do not accept an ooc::Env because it is implied by the synchronization token.

Parameters
envThe point cloud environment to synchronize with.
funcThe callback to call when the point cloud is in a synchronized state
Returns
an ooc::delta::SyncResult return code.
See also
ooc::delta::DeleteNode
ooc::delta::DeleteSpecificPoints
ooc::delta::OptimizeDeltas

References SyncResult_Success.

Variable Documentation

◆ SyncToken