Class that stores endpoints of a y range for each x value within a specified range and step size.
More...
|
| XYRangeData ()=default |
|
| XYRangeData (const ValueT &xmin, const ValueT &xmax, const Index &step=1) |
| Constructor that sets the x range to span a given interval with a specific step size. This initializes all y ranges as empty. More...
|
|
void | expandYRange (const ValueT &x, const ValueT &ymin, const ValueT &ymax) |
| Expands the y range for a given x value by updating the minimum and maximum y values if the new ones extend the current range. More...
|
|
void | expandYMin (const ValueT &x, const ValueT &ymin) |
| Sets the minimum y value for a given x value, if the provided ymin is smaller than the current value. More...
|
|
void | expandYMax (const ValueT &x, const ValueT &ymax) |
| Sets the maximum y value for a given x value, if the provided ymax is larger than the current value. More...
|
|
void | expandYRange (const ValueT &x, const ValueT &y) |
| Expands the y range for a given x by adjusting ymin or ymax if the given y is smaller or larger. More...
|
|
void | setYMin (const ValueT &x, const ValueT &ymin) |
| Set the minimum y value for a given x value, even if it is larger than the current value. More...
|
|
void | setYMax (const ValueT &x, const ValueT &ymax) |
| Set the maximum y value for a given x value, even if it is smaller than the current value. More...
|
|
void | clearYRange (const ValueT &x) |
| Clears the y range for a given x value, setting it to an empty interval. More...
|
|
void | clear () |
| Clears the data container. More...
|
|
void | reset (const ValueT &xmin, const ValueT &xmax, const Index &step=1) |
| Resets the x range to span a given interval with a specific step size. This initializes all y ranges as empty. More...
|
|
Index | step () const |
| Retrieves the step size used for the x values. More...
|
|
Index | size () const |
| Returns the number of x points in the current range. More...
|
|
ValueT | start () const |
| Retrieves the starting x value in the range. More...
|
|
ValueT | end () const |
| Retrieves the ending x value in the range. More...
|
|
ValueT | getX (const Index &i) const |
| Converts an index to its corresponding x value. More...
|
|
ValueT | getYMin (const Index &i) const |
| Gets the minimum y value for a given index. More...
|
|
ValueT | getYMax (const Index &i) const |
| Gets the maximum y value for a given index. More...
|
|
ValueT | getYMin (const ValueT &x) const |
| Gets the minimum y value for a given x value. More...
|
|
ValueT | getYMax (const ValueT &x) const |
| Gets the maximum y value for a given x value. More...
|
|
void | XYData (ValueT &x, ValueT &ymin, ValueT &ymax, const Index &i) const |
| Retrieves the x, ymin, and ymax values for a given index. More...
|
|
bool | isEmpty () const |
| Returns true if the container has no x values or if all y ranges are empty. More...
|
|
void | merge (const XYRangeData &xydata) |
| Merges another XYRangeData into the current instance by combining y ranges over the overlapping x range. More...
|
|
void | trim () |
| Trims the x range by removing empty or invalid y ranges from the beginning and end. Truncates the range if all values are invalid. More...
|
|
template<typename GridType, typename Derived, typename InterruptType = util::NullInterrupter>
class openvdb::v12_1::tools::ConvexVoxelizer< GridType, Derived, InterruptType >::XYRangeData
Class that stores endpoints of a y range for each x value within a specified range and step size.
This class tracks y ranges (defined by ymin and ymax) for each x value over a defined interval, using a configurable step size. It allows updating, expanding, and resetting the y ranges, as well as merging data from other instances and trimming invalid entries.