|
| ON_WindingNumber ()=default |
|
| ON_WindingNumber (const ON_WindingNumber &)=default |
|
| ~ON_WindingNumber ()=default |
|
ON__UINT32 | AddBoundary (ON_2dPoint p) |
|
ON__UINT32 | AddBoundary (ON_2dPoint p, ON_2dPoint q) |
|
ON__UINT32 | AddBoundary (size_t point_count, const ON_2dPoint *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | AddBoundary (size_t point_count, const ON_2fPoint *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | AddBoundary (size_t point_count, const ON_3dPoint *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | AddBoundary (size_t point_count, const ON_3fPoint *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | AddBoundary (size_t point_count, size_t point_stride, const double *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | AddBoundary (size_t point_count, size_t point_stride, const float *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | AddBoundary (size_t point_count, size_t point_stride, const int *boundary_points, bool bCloseBoundary) |
|
ON__UINT32 | BoundarySegmentCount () const |
|
ON_WindingNumber & | operator= (const ON_WindingNumber &)=default |
|
const ON_2dPoint | PreviousBoundaryPoint () const |
|
void | SetWindingPoint (double x, double y) |
|
void | SetWindingPoint (ON_2dPoint winding_point) |
|
ON__INT32 | WindingNumber () const |
|
const ON_2dPoint | WindingPoint () const |
|
Description: Tool for efficiently calculating a boundary polyline winding number with input tools that do not require the boundary polyline to be a contiguous array of points.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
const ON_2dPoint * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
const ON_2fPoint * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
const ON_3dPoint * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
const ON_3fPoint * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
size_t |
point_stride, |
|
|
const double * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. point_stride - [in] >= 2 The i-th point has coordinates (boundary_points[i*point_stride],boundary_points[i*point_stride+1]). boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
size_t |
point_stride, |
|
|
const float * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. point_stride - [in] >= 2 The i-th point has coordinates (boundary_points[i*point_stride],boundary_points[i*point_stride+1]). boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.
ON__UINT32 ON_WindingNumber::AddBoundary |
( |
size_t |
point_count, |
|
|
size_t |
point_stride, |
|
|
const int * |
boundary_points, |
|
|
bool |
bCloseBoundary |
|
) |
| |
Description: After calling SetWindingPoint(), the boundary may be specified by one or more calls to various AddBoundary functions. The boundary may be specified one point at a time, one edge at a time, portions of the boundary at a time, or the entire boundary in a single call. The edges may be added in any order. The caller is responsible for insuring the collection calls to AddBoundary() results in a a continuous, oriented, and closed polyline. Parameters: point_count - [in] >= 2 number of points in boundary_points[] array. point_stride - [in] >= 2 The i-th point has coordinates (boundary_points[i*point_stride],boundary_points[i*point_stride+1]). boundary_points - [in] Boundary points. bCloseBoundary - [in] If true, an edge segment is added from the last boundary point to the first boundary point. Returns: Number of boundary edge segments added. Remarks: The calculation tolerates zero length edge segments. The caller is responsible for insuring the coordinates in boundary_points[] are valid doubles.