|
HDK
|
Class that stores endpoints of a y range for each x value within a specified range and step size. More...
#include <ConvexVoxelizer.h>
Public Member Functions | |
| 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... | |
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.
Definition at line 445 of file ConvexVoxelizer.h.
|
default |
|
inline |
Constructor that sets the x range to span a given interval with a specific step size. This initializes all y ranges as empty.
| xmin | The lower bound of the x range. |
| xmax | The upper bound of the x range. |
| step | The step size between x values. Defaults to 1. |
Definition at line 457 of file ConvexVoxelizer.h.
|
inline |
Clears the data container.
Definition at line 557 of file ConvexVoxelizer.h.
|
inline |
Clears the y range for a given x value, setting it to an empty interval.
| x | The x value. |
Definition at line 547 of file ConvexVoxelizer.h.
|
inline |
Retrieves the ending x value in the range.
Definition at line 607 of file ConvexVoxelizer.h.
|
inline |
Sets the maximum y value for a given x value, if the provided ymax is larger than the current value.
| x | The x value. |
| ymax | The maximum y value to possibly be set. |
Definition at line 494 of file ConvexVoxelizer.h.
|
inline |
Sets the minimum y value for a given x value, if the provided ymin is smaller than the current value.
| x | The x value. |
| ymin | The minimum y value to possibly be set. |
Definition at line 481 of file ConvexVoxelizer.h.
|
inline |
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.
| x | The x value. |
| ymin | The new minimum y value to compare with and possibly update the current minimum at x. |
| ymax | The new maximum y value to compare with and possibly update the current maximum at x. |
Definition at line 470 of file ConvexVoxelizer.h.
|
inline |
Expands the y range for a given x by adjusting ymin or ymax if the given y is smaller or larger.
| x | The x value. |
| y | The y value to use for expanding the range. |
Definition at line 507 of file ConvexVoxelizer.h.
|
inline |
Converts an index to its corresponding x value.
| i | The index value. |
Definition at line 612 of file ConvexVoxelizer.h.
|
inline |
Gets the maximum y value for a given index.
| i | The index value. |
Definition at line 622 of file ConvexVoxelizer.h.
|
inline |
Gets the maximum y value for a given x value.
| x | The x value. |
x is rounded to the nearest value in the x range. Definition at line 634 of file ConvexVoxelizer.h.
|
inline |
Gets the minimum y value for a given index.
| i | The index value. |
Definition at line 617 of file ConvexVoxelizer.h.
|
inline |
Gets the minimum y value for a given x value.
| x | The x value. |
x is rounded to the nearest value in the x range. Definition at line 628 of file ConvexVoxelizer.h.
|
inline |
Returns true if the container has no x values or if all y ranges are empty.
Definition at line 650 of file ConvexVoxelizer.h.
|
inline |
Merges another XYRangeData into the current instance by combining y ranges over the overlapping x range.
| xydata | The XYRangeData to merge with. |
Definition at line 667 of file ConvexVoxelizer.h.
|
inline |
Resets the x range to span a given interval with a specific step size. This initializes all y ranges as empty.
| xmin | The lower bound of the x range. |
| xmax | The upper bound of the x range. |
| step | The step size between x values. Defaults to 1. |
Definition at line 577 of file ConvexVoxelizer.h.
|
inline |
Set the maximum y value for a given x value, even if it is smaller than the current value.
| x | The x value. |
| ymax | The maximum y value to reset. |
Definition at line 537 of file ConvexVoxelizer.h.
|
inline |
Set the minimum y value for a given x value, even if it is larger than the current value.
| x | The x value. |
| ymin | The minimum y value to reset. |
Definition at line 525 of file ConvexVoxelizer.h.
|
inline |
Returns the number of x points in the current range.
Definition at line 599 of file ConvexVoxelizer.h.
|
inline |
Retrieves the starting x value in the range.
Definition at line 603 of file ConvexVoxelizer.h.
|
inline |
Retrieves the step size used for the x values.
Definition at line 595 of file ConvexVoxelizer.h.
|
inline |
Trims the x range by removing empty or invalid y ranges from the beginning and end. Truncates the range if all values are invalid.
Definition at line 702 of file ConvexVoxelizer.h.
|
inline |
Retrieves the x, ymin, and ymax values for a given index.
| x | Output parameter for the x value. |
| ymin | Output parameter for the minimum y value. |
| ymax | Output parameter for the maximum y value. |
| i | The index to query. |
Definition at line 642 of file ConvexVoxelizer.h.