ooc::io Namespace Reference

Enumerations

enum  IOResult {
  IOResult_Success, IOResult_Error_Unknown_Failure, IOResult_Error_No_HBaseView, IOResult_Error_Cyclic_File_Dependencies,
  IOResult_Error_Serialization_Failure, IOResult_Error_Deserialization_Failure, IOResult_Error_Illegal_File_Name, IOResult_Error_File_System_Failure,
  IOResult_Error_OOC_Root_Already_Exists, IOResult_Error_Invalid_Buffer
}
 

Functions

OOC_API IOResult CommitDeltasToFile (Env env, H_UTF8 *out_generated_file_name=0)
 
OOC_API IOResult CommitDeltasToFile (char *buffer, int buffer_size, Env env, H_UTF8 *out_generated_file_name=0)
 
OOC_API IOResult CommitDeltasToFile (Env env, H_UTF8 const &file_name)
 
OOC_API IOResult CommitDeltasToFile (char *buffer, int buffer_size, Env env, H_UTF8 const &file_name)
 
OOC_API IOResult FileInputByKey (wchar_t const *file_name, HC_KEY segment_key, HInputHandlerOptions const &options)
 
OOC_API IOResult FileInputByKey (char *buffer, int buffer_size, wchar_t const *file_name, HC_KEY segment_key, HInputHandlerOptions const &options)
 
OOC_API bool HasUncommittedDeltas (Env env)
 

Enumeration Type Documentation

◆ IOResult

Designates the status of an IO operation.

Enumerator
IOResult_Success 
IOResult_Error_Unknown_Failure 
IOResult_Error_No_HBaseView 
IOResult_Error_Cyclic_File_Dependencies 
IOResult_Error_Serialization_Failure 
IOResult_Error_Deserialization_Failure 
IOResult_Error_Illegal_File_Name 
IOResult_Error_File_System_Failure 
IOResult_Error_OOC_Root_Already_Exists 
IOResult_Error_Invalid_Buffer 

Function Documentation

◆ CommitDeltasToFile() [1/4]

OOC_API IOResult ooc::io::CommitDeltasToFile ( Env  env,
H_UTF8 *  out_generated_file_name = 0 
)

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
Parameters
envThe environment of the point cloud whose uncommitted changes will be committed to disk.
out_generated_file_nameIf non-null, then the pointed to H_UTF8 is populated with the absolute file path of the generated file. / is used as the file path seperator in the generated file.
Returns
an ooc::io::IOResult return code.
See also
ooc::delta::DeleteNode
ooc::delta::DeleteSpecificPoints
ooc::delta::HasUncommittedDeltas

◆ CommitDeltasToFile() [2/4]

OOC_API IOResult ooc::io::CommitDeltasToFile ( char *  buffer,
int  buffer_size,
Env  env,
H_UTF8 *  out_generated_file_name = 0 
)

◆ CommitDeltasToFile() [3/4]

OOC_API IOResult ooc::io::CommitDeltasToFile ( Env  env,
H_UTF8 const &  file_name 
)

Same as ooc::io::CommitDeltasToFile(ooc::Env env, H_UTF8 * out_generated_file_name), but instead of writing the OOCD file to a generated file name, the file path is supplied by file_name.

◆ CommitDeltasToFile() [4/4]

OOC_API IOResult ooc::io::CommitDeltasToFile ( char *  buffer,
int  buffer_size,
Env  env,
H_UTF8 const &  file_name 
)

◆ FileInputByKey() [1/2]

OOC_API IOResult ooc::io::FileInputByKey ( wchar_t const *  file_name,
HC_KEY  segment_key,
HInputHandlerOptions const &  options 
)

Loads the given OOC or OOCD file into the HOOPS segment segment_key. Accepts both / and \ as file path separators. options.m_pHBaseView must point to a valid HBaseView object. If options.m_bOOCAutoUpdate is set, then the HBaseView the file gets loaded with will automatically update the HOOPS scene when nodes get populated. This option is set to true by default. The automatic update logic makes periodic calls to ooc::PollNodesLoadingOrHaveBeenLoaded in order to determine if an update is needed. If options.m_bOOCAutoCleanup is set, then ooc::Release is called when the HBaseView the file gets loaded with gets destructed. This option is set to true by default.

Parameters
file_name- The file_name of the point cloud file to load.
segment_key- The segment key to load the point cloud file into.
options- Configuration options for loading the file.
Returns
an ooc::io::IOResult return code.
See also
ooc::Release
ooc::PollNodesLoadingOrHaveBeenLoaded

◆ FileInputByKey() [2/2]

OOC_API IOResult ooc::io::FileInputByKey ( char *  buffer,
int  buffer_size,
wchar_t const *  file_name,
HC_KEY  segment_key,
HInputHandlerOptions const &  options 
)

◆ HasUncommittedDeltas()

OOC_API bool ooc::io::HasUncommittedDeltas ( Env  env)

Queries whether or not there are any uncommitted deltas in memory for a particular point cloud tree.

Parameters
envThe environment of the point cloud to query.
Returns
true if there have been any changes made to the point cloud that have not been committed to disk. Returns false otherwise.
See also
ooc::io::CommitDeltasToFile
ooc::io::CommitDeltasToFile