NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IPipe_set_subset Class Referenceabstract

Distributed data storage for pipe sets. More...

#include <ipipe_set_subset.h>

Inherits mi::base::Interface_declare< 0xea834969, ... >.

Public Member Functions

virtual const mi::math::Bbox_struct< mi::Float32, 3 > & get_bounding_box () const =0
 Returns the bounding box of the subset. More...
 
virtual IPipe_subset_parametersadd_pipe (const mi::math::Vector_struct< mi::Float32, 3 > *vertices, mi::Size nb_vertices)=0
 Adds a new pipe with the given vertices. More...
 
virtual bool has_property (const char *property_name) const =0
 Returns whether data is available for the given property, or if it at least has been reserved. More...
 
virtual bool reserve_property (const char *property_name) const =0
 Tries to reserve the given property to the caller, so that it can start loading the property data. More...
 
virtual bool set_property_data (const char *property_name, const mi::Float32 *property_values, mi::Size nb_property_values, mi::Float32 coordinate_first=0.f, mi::Float32 coordinate_last=0.f)=0
 Stores the data for the given property. More...
 

Detailed Description

Distributed data storage for pipe sets.

Member Function Documentation

 add_pipe()

virtual IPipe_subset_parameters * nv::index::IPipe_set_subset::add_pipe ( const mi::math::Vector_struct< mi::Float32, 3 > *  vertices,
mi::Size  nb_vertices 
)
pure virtual

Adds a new pipe with the given vertices.

Parameters
[in]verticesArray of vertices
[in]nb_verticesNumber of vertices in the array
Returns
The new pipe that was just added to the subset. The caller takes ownership, but should not store it longer than necessary. It must released before finalize() is called.

 get_bounding_box()

virtual const mi::math::Bbox_struct< mi::Float32, 3 > & nv::index::IPipe_set_subset::get_bounding_box ( ) const
pure virtual

Returns the bounding box of the subset.

Returns
Bounding box in the local coordinate system.

 has_property()

virtual bool nv::index::IPipe_set_subset::has_property ( const char *  property_name) const
pure virtual

Returns whether data is available for the given property, or if it at least has been reserved.

Parameters
[in]property_nameUnique name identifying the property.
Returns
true if property data is available or has been reserved.

 reserve_property()

virtual bool nv::index::IPipe_set_subset::reserve_property ( const char *  property_name) const
pure virtual

Tries to reserve the given property to the caller, so that it can start loading the property data.

This approach is necessary to ensure property data won't get loaded by multiple concurrent threads.

Parameters
[in]property_nameUnique name identifying the property.
Returns
true if reservation succeeded, or false if the property was already reserved.

 set_property_data()

virtual bool nv::index::IPipe_set_subset::set_property_data ( const char *  property_name,
const mi::Float32 *  property_values,
mi::Size  nb_property_values,
mi::Float32  coordinate_first = 0.f,
mi::Float32  coordinate_last = 0.f 
)
pure virtual

Stores the data for the given property.

To prevent interference between multiple threads, this should only get called by the thread for which reserve_property() returned true.

Optionally, the property coordinates for the first and last property value may be specified. This should be used together with IPipe_subset_parameters::set_property_coordinates_range().

Parameters
[in]property_nameUnique name identifying the property.
[in]property_valuesArray of property values.
[in]nb_property_valuesNumber of values in the array.
[in]coordinate_firstCoordinate of the first property value.
[in]coordinate_lastCoordinate of the last property value.
Returns
true on success, or false if one of the arguments is invalid.

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