#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>
Go to the source code of this file.
|
| MRC_API bool | MR_isPointInsidePolyline (const MR_Polyline2 *polyline, const MR_Vector2f *point) |
| | detect if given point is inside polyline, by counting ray intersections
|
| |
| MRC_API const MR_EdgePoint * | MR_PolylineIntersectionResult2_Get_edgePoint (const MR_PolylineIntersectionResult2 *_this) |
| |
| MRC_API void | MR_PolylineIntersectionResult2_Set_edgePoint (MR_PolylineIntersectionResult2 *_this, const MR_EdgePoint *value) |
| |
| MRC_API MR_EdgePoint * | MR_PolylineIntersectionResult2_GetMutable_edgePoint (MR_PolylineIntersectionResult2 *_this) |
| |
| MRC_API const float * | MR_PolylineIntersectionResult2_Get_distanceAlongLine (const MR_PolylineIntersectionResult2 *_this) |
| |
| MRC_API void | MR_PolylineIntersectionResult2_Set_distanceAlongLine (MR_PolylineIntersectionResult2 *_this, float value) |
| |
| MRC_API float * | MR_PolylineIntersectionResult2_GetMutable_distanceAlongLine (MR_PolylineIntersectionResult2 *_this) |
| |
| MRC_API MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_DefaultConstruct (void) |
| |
| MRC_API MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_DefaultConstructArray (size_t num_elems) |
| |
| MRC_API MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_ConstructFrom (const MR_EdgePoint *edgePoint, float distanceAlongLine) |
| |
| MRC_API const MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_OffsetPtr (const MR_PolylineIntersectionResult2 *ptr, ptrdiff_t i) |
| |
| MRC_API MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_OffsetMutablePtr (MR_PolylineIntersectionResult2 *ptr, ptrdiff_t i) |
| |
| MRC_API MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_ConstructFromAnother (const MR_PolylineIntersectionResult2 *_other) |
| |
| MRC_API void | MR_PolylineIntersectionResult2_Destroy (const MR_PolylineIntersectionResult2 *_this) |
| | Destroys a heap-allocated instance of MR_PolylineIntersectionResult2. Does nothing if the pointer is null.
|
| |
| MRC_API void | MR_PolylineIntersectionResult2_DestroyArray (const MR_PolylineIntersectionResult2 *_this) |
| | Destroys a heap-allocated array of MR_PolylineIntersectionResult2. Does nothing if the pointer is null.
|
| |
| MRC_API MR_PolylineIntersectionResult2 * | MR_PolylineIntersectionResult2_AssignFromAnother (MR_PolylineIntersectionResult2 *_this, const MR_PolylineIntersectionResult2 *_other) |
| |
| MRC_API MR_std_optional_MR_PolylineIntersectionResult2 * | MR_rayPolylineIntersect_MR_Line2f (const MR_Polyline2 *polyline, const MR_Line2f *line, const float *rayStart, const float *rayEnd, const MR_IntersectionPrecomputes2_float *prec, const bool *closestIntersect) |
| |
| MRC_API MR_std_optional_MR_PolylineIntersectionResult2 * | MR_rayPolylineIntersect_MR_Line2d (const MR_Polyline2 *polyline, const MR_Line2d *line, const double *rayStart, const double *rayEnd, const MR_IntersectionPrecomputes2_double *prec, const bool *closestIntersect) |
| |
| MRC_API void | MR_rayPolylineIntersectAll_MR_Line2f (const MR_Polyline2 *polyline, const MR_Line2f *line, const MR_std_function_MR_Processing_from_const_MR_EdgePoint_ref_float_float_ref_float_ref *callback, const float *rayStart, const float *rayEnd, const MR_IntersectionPrecomputes2_float *prec) |
| |
| MRC_API void | MR_rayPolylineIntersectAll_MR_Line2d (const MR_Polyline2 *polyline, const MR_Line2d *line, const MR_std_function_MR_Processing_from_const_MR_EdgePoint_ref_double_double_ref_double_ref *callback, const double *rayStart, const double *rayEnd, const MR_IntersectionPrecomputes2_double *prec) |
| |
◆ MR_EdgePoint
◆ MR_IntersectionPrecomputes2_double
◆ MR_IntersectionPrecomputes2_float
◆ MR_Line2d
◆ MR_Line2f
◆ MR_Polyline2
◆ MR_PolylineIntersectionResult2
Generated from class MR::PolylineIntersectionResult2. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
◆ MR_std_function_MR_Processing_from_const_MR_EdgePoint_ref_double_double_ref_double_ref
◆ MR_std_function_MR_Processing_from_const_MR_EdgePoint_ref_float_float_ref_float_ref
◆ MR_std_optional_MR_PolylineIntersectionResult2
◆ MR_Vector2f
| typedef struct MR_Vector2f MR_Vector2f |
◆ MR_isPointInsidePolyline()
detect if given point is inside polyline, by counting ray intersections
- Parameters
-
| polyline | input polyline |
| point | input point Generated from function MR::isPointInsidePolyline. Parameter polyline can not be null. It is a single object. Parameter point can not be null. It is a single object. |
◆ MR_PolylineIntersectionResult2_AssignFromAnother()
Generated from method MR::PolylineIntersectionResult2::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
◆ MR_PolylineIntersectionResult2_ConstructFrom()
Constructs MR::PolylineIntersectionResult2 elementwise. Parameter edgePoint can not be null. It is a single object. The reference to the parameter edgePoint might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineIntersectionResult2_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.
◆ MR_PolylineIntersectionResult2_ConstructFromAnother()
Generated from constructor MR::PolylineIntersectionResult2::PolylineIntersectionResult2. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineIntersectionResult2_Destroy() to free it when you're done using it.
◆ MR_PolylineIntersectionResult2_DefaultConstruct()
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineIntersectionResult2_Destroy() to free it when you're done using it.
◆ MR_PolylineIntersectionResult2_DefaultConstructArray()
◆ MR_PolylineIntersectionResult2_Destroy()
Destroys a heap-allocated instance of MR_PolylineIntersectionResult2. Does nothing if the pointer is null.
◆ MR_PolylineIntersectionResult2_DestroyArray()
Destroys a heap-allocated array of MR_PolylineIntersectionResult2. Does nothing if the pointer is null.
◆ MR_PolylineIntersectionResult2_Get_distanceAlongLine()
stores the distance from ray origin to the intersection point in direction units Returns a pointer to a member variable of class MR::PolylineIntersectionResult2 named distanceAlongLine. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.
◆ MR_PolylineIntersectionResult2_Get_edgePoint()
intersection point in polyline Returns a pointer to a member variable of class MR::PolylineIntersectionResult2 named edgePoint. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.
◆ MR_PolylineIntersectionResult2_GetMutable_distanceAlongLine()
stores the distance from ray origin to the intersection point in direction units Returns a mutable pointer to a member variable of class MR::PolylineIntersectionResult2 named distanceAlongLine. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.
◆ MR_PolylineIntersectionResult2_GetMutable_edgePoint()
intersection point in polyline Returns a mutable pointer to a member variable of class MR::PolylineIntersectionResult2 named edgePoint. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.
◆ MR_PolylineIntersectionResult2_OffsetMutablePtr()
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
◆ MR_PolylineIntersectionResult2_OffsetPtr()
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
◆ MR_PolylineIntersectionResult2_Set_distanceAlongLine()
stores the distance from ray origin to the intersection point in direction units Modifies a member variable of class MR::PolylineIntersectionResult2 named distanceAlongLine. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in distanceAlongLine.
◆ MR_PolylineIntersectionResult2_Set_edgePoint()
intersection point in polyline Modifies a member variable of class MR::PolylineIntersectionResult2 named edgePoint. Parameter _this can not be null. It is a single object. Parameter value can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element edgePoint. When this function is called, this object will drop object references it had previously in edgePoint.
◆ MR_rayPolylineIntersect_MR_Line2d()
Finds ray and polyline intersection in double-precision. rayStart and rayEnd define the interval on the ray to detect an intersection. prec can be specified to reuse some precomputations (e.g. for checking many parallel rays). Finds the closest intersection to ray origin (line param=0) or any intersection for better performance if !closestIntersect. Generated from function MR::rayPolylineIntersect. Parameter polyline can not be null. It is a single object. Parameter line can not be null. It is a single object. Parameter rayStart has a default argument: 0, pass a null pointer to use it. Parameter rayEnd has a default argument: 1.7976931348623157e308, pass a null pointer to use it. Parameter prec defaults to a null pointer in C++. Parameter closestIntersect has a default argument: true, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_PolylineIntersectionResult2_Destroy() to free it when you're done using it.
◆ MR_rayPolylineIntersect_MR_Line2f()
Finds ray and polyline intersection in float-precision. rayStart and rayEnd define the interval on the ray to detect an intersection. prec can be specified to reuse some precomputations (e.g. for checking many parallel rays). Finds the closest intersection to ray origin (line param=0) or any intersection for better performance if !closestIntersect. Generated from function MR::rayPolylineIntersect. Parameter polyline can not be null. It is a single object. Parameter line can not be null. It is a single object. Parameter rayStart has a default argument: 0, pass a null pointer to use it. Parameter rayEnd has a default argument: 3.40282347e38f, pass a null pointer to use it. Parameter prec defaults to a null pointer in C++. Parameter closestIntersect has a default argument: true, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_PolylineIntersectionResult2_Destroy() to free it when you're done using it.
◆ MR_rayPolylineIntersectAll_MR_Line2d()
Intersects 2D ray and polyline in double-precision. Reports all intersections via given callback with the tendency to do it from ray start to ray end, but without guarantee of exact order. Generated from function MR::rayPolylineIntersectAll. Parameter polyline can not be null. It is a single object. Parameter line can not be null. It is a single object. Parameter callback can not be null. It is a single object. Parameter rayStart has a default argument: 0.0, pass a null pointer to use it. Parameter rayEnd has a default argument: 1.7976931348623157e308, pass a null pointer to use it. Parameter prec defaults to a null pointer in C++.
◆ MR_rayPolylineIntersectAll_MR_Line2f()
Intersects 2D ray and polyline in single-precision. Reports all intersections via given callback with the tendency to do it from ray start to ray end, but without guarantee of exact order. Generated from function MR::rayPolylineIntersectAll. Parameter polyline can not be null. It is a single object. Parameter line can not be null. It is a single object. Parameter callback can not be null. It is a single object. Parameter rayStart has a default argument: 0.0f, pass a null pointer to use it. Parameter rayEnd has a default argument: 3.40282347e38f, pass a null pointer to use it. Parameter prec defaults to a null pointer in C++.