Distributed data storage for pipe sets.
More...
#include <ipipe_set_subset.h>
Inherits mi::base::Interface_declare< 0xea834969, ... >.
|
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_parameters * | add_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...
|
|
Distributed data storage for pipe sets.
◆ 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] | vertices | Array of vertices |
[in] | nb_vertices | Number 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_name | Unique 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_name | Unique 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_name | Unique name identifying the property. |
[in] | property_values | Array of property values. |
[in] | nb_property_values | Number of values in the array. |
[in] | coordinate_first | Coordinate of the first property value. |
[in] | coordinate_last | Coordinate 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: