LayOut C API

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Enumerations | Functions
path.h File Reference
`#include <LayOutAPI/common.h>`
`#include <LayOutAPI/geometry/geometry.h>`
`#include <LayOutAPI/model/defs.h>`

Go to the source code of this file.

## Enumerations
enum | LOPathPointType { LOPathPointType_MoveTo = 0, LOPathPointType_LineTo, LOPathPointType_BezierTo, LOPathPointType_ArcCenter, LOPathPointType_BezierControl, LOPathPointType_Close, LONumPathPointTypes }
| Defines how a point is to be interpreted in a path entity. More...
enum | LOPathWindingType { LOPathWindingType_None = 0, LOPathWindingType_Clockwise, LOPathWindingType_CounterClockwise, LONumPathWindingTypes }
| Defines the winding direction of the path. More...

## Functions
LO_RESULT | LOPathCreate (LOPathRef *path, const LOPoint2D *start_point, const LOPoint2D *end_point)
| Creates a new path object with a straight line between start_point and end_point. More...
LO_RESULT | LOPathCreateBezier (LOPathRef *path, const LOPoint2D *start_point, const LOPoint2D *control_point_1, const LOPoint2D *control_point_2, const LOPoint2D *end_point)
| Creates a new path object with a Bezier curve between start_point and end_point. More...
LO_RESULT | LOPathCreateFromRectangle (LOPathRef *path, LORectangleRef rectangle)
| Creates a new path object representing the same shape as a rectangle object. More...
LO_RESULT | LOPathCreateFromEllipse (LOPathRef *path, LOEllipseRef ellipse)
| Creates a new path object representing the same shape as an ellipse object. More...
LO_RESULT | LOPathCreateArc (LOPathRef *path, const LOPoint2D *center_point, double radius, double start_angle, double end_angle)
| Creates a new path object representing an arc. More...
LO_RESULT | LOPathAddReference (LOPathRef path)
| Adds a reference to a path object. More...
LO_RESULT | LOPathRelease (LOPathRef *path)
| Releases a path object. The object will be invalidated if releasing the last reference. More...
LO_EXPORT LOPathRef | LOPathFromEntity (LOEntityRef entity)
| Converts from a LOEntityRef to a LOPathRef. This is essentially a downcast operation so the given LOEntityRef must be convertible to a LOPathRef. More...
LO_EXPORT LOEntityRef | LOPathToEntity (LOPathRef path)
| Converts from a LOPathRef to a LOEntityRef. This is essentially an upcast operation. More...
LO_RESULT | LOPathGetNumberOfPoints (LOPathRef path, size_t *size)
| Gets the number of points in the path. More...
LO_RESULT | LOPathGetPoints (LOPathRef path, size_t points_size, LOPoint2D points[], size_t *number_of_points_copied)
| Gets the points in the path. More...
LO_RESULT | LOPathGetPointAtIndex (LOPathRef path, size_t point_index, LOPoint2D *point)
| Gets the point in the path at the given index. More...
LO_RESULT | LOPathGetPointTypes (LOPathRef path, size_t pointtypes_size, LOPathPointType pointtypes[], size_t *number_of_pointtypes_copied)
| Gets the type of each point in the path. More...
LO_RESULT | LOPathGetPointTypeAtIndex (LOPathRef path, size_t point_index, LOPathPointType *pointtype)
| Gets the type of the specified point in the path. More...
LO_RESULT | LOPathGetStartPoint (LOPathRef path, LOPoint2D *point)
| Gets the start point for the path. More...
LO_RESULT | LOPathGetEndPoint (LOPathRef path, LOPoint2D *point)
| Gets the end point for the path. More...
LO_RESULT | LOPathCreateFromStartArrow (LOPathRef *arrow_path, LOPathRef path)
| Creates a new path object in the shape of the start arrow of the given path. More...
LO_RESULT | LOPathCreateFromEndArrow (LOPathRef *arrow_path, LOPathRef path)
| Creates a new path object in the shape of the end arrow of the given path. More...
LO_RESULT | LOPathGetClosed (LOPathRef path, bool *is_closed)
| Gets whether or not the path is a closed loop. More...
LO_RESULT | LOPathGetParametricLength (LOPathRef path, double *parametric_length)
| Gets the length of the path. More...
LO_RESULT | LOPathGetPointAtParameter (LOPathRef path, double parametric_value, LOPoint2D *point)
| Gets the point at the given distance along the path. More...
LO_RESULT | LOPathGetTangentAtParameter (LOPathRef path, double parametric_value, LOVector2D *tangent)
| Gets the tangent at the given distance along the path. More...
LO_RESULT | LOPathGetCircle (LOPathRef path, bool *is_circle, LOPoint2D *center, double *radius)
| Gets whether or not the path represents a circle, and if so, gets the geometric representation of the circle. More...
LO_RESULT | LOPathGetArc (LOPathRef path, bool *is_arc, LOPoint2D *center, double *radius, double *start_angle, double *end_angle)
| Gets whether or not the path represents an arc, and if so, gets the geometric representation of the arc. More...
LO_RESULT | LOPathAppendLineTo (LOPathRef path, const LOPoint2D *point)
| Adds a point to the end of the path. More...
LO_RESULT | LOPathAppendBezierTo (LOPathRef path, const LOPoint2D *control_point_1, const LOPoint2D *control_point_2, const LOPoint2D *point)
| Adds a Bezier point to the end of the path. More...
LO_RESULT | LOPathAppendPathTo (LOPathRef path, LOPathRef other_path)
| Appends two paths. This will duplicate other_path and append it to the path. Note that path may be reversed as a result of this operation. More...
LO_RESULT | LOPathClose (LOPathRef path)
| Finishes the path loop if the path is not closed. More...
LO_RESULT | LOPathGetWindingType (LOPathRef path, LOPathWindingType *winding)
| Returns the winding type of the path. More...

## Enumeration Type Documentation

enum LOPathPointType

Defines how a point is to be interpreted in a path entity.

Enumerator
LOPathPointType_MoveTo | Reserved for the first point in a path.
LOPathPointType_LineTo | Straight line segment to a given point.
LOPathPointType_BezierTo | Bezier line segment to a given point.
LOPathPointType_ArcCenter | Control point that defines the center of an arc.
LOPathPointType_BezierControl | Control point that defines Bezier curvature.
LOPathPointType_Close | Close the path with a straight line segment back to the first point.
LONumPathPointTypes |

enum LOPathWindingType

Defines the winding direction of the path.

Since
  LayOut 2019, API 4.0

Enumerator
LOPathWindingType_None |
LOPathWindingType_Clockwise |
LOPathWindingType_CounterClockwise |
LONumPathWindingTypes |

## Function Documentation

LO_RESULT LOPathAddReference | ( | LOPathRef | path | ) |

Adds a reference to a path object.

Parameters

  [in] | path | The path object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object

LO_RESULT LOPathAppendBezierTo | ( | LOPathRef | path,
|  | const LOPoint2D * | control_point_1,
|  | const LOPoint2D * | control_point_2,
|  | const LOPoint2D * | point
| ) |  |

Adds a Bezier point to the end of the path.

Parameters

  [in] | path | The path object.
  [in] | control_point_1 | The first control point.
  [in] | control_point_2 | The second control point.
  [in] | point | The point to append.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_INPUT if control_point_1 is NULL
  - SU_ERROR_NULL_POINTER_INPUT if control_point_2 is NULL
  - SU_ERROR_NULL_POINTER_INPUT if point is NULL
  - SU_ERROR_LAYER_LOCKED if path is on a locked layer
  - SU_ERROR_ENTITY_LOCKED if path is locked

LO_RESULT LOPathAppendLineTo | ( | LOPathRef | path,
|  | const LOPoint2D * | point
| ) |  |

Adds a point to the end of the path.

Parameters

  [in] | path | The path object.
  [in] | point | The point to append.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_INPUT if point is NULL
  - SU_ERROR_LAYER_LOCKED if path is on a locked layer
  - SU_ERROR_ENTITY_LOCKED if path is locked

LO_RESULT LOPathAppendPathTo | ( | LOPathRef | path,
|  | LOPathRef | other_path
| ) |  |

Appends two paths. This will duplicate other_path and append it to the path. Note that path may be reversed as a result of this operation.

Since
  LayOut 2018, API 3.0

Parameters

  [in] | path | The path object.
  [in] | other_path | The path to append to path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path or other_path do not refer to valid objects
  - SU_ERROR_LAYER_LOCKED if path is on a locked layer
  - SU_ERROR_ENTITY_LOCKED if path is locked
  - SU_ERROR_INVALID_ARGUMENT if path and other_path are the same object
  - SU_ERROR_UNSUPPORTED if path and other_path do not share a common endpoint

LO_RESULT LOPathClose | ( | LOPathRef | path | ) |

Finishes the path loop if the path is not closed.

Parameters

  [in] | path | The path object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_GENERIC if path has already been closed.
  - SU_ERROR_LAYER_LOCKED if path is on a locked layer
  - SU_ERROR_ENTITY_LOCKED if path is locked

LO_RESULT LOPathCreate | ( | LOPathRef * | path,
|  | const LOPoint2D * | start_point,
|  | const LOPoint2D * | end_point
| ) |  |

Creates a new path object with a straight line between start_point and end_point.

Parameters

  [out] | path | The path object.
  [in] | start_point | The starting point of the path.
  [in] | end_point | The ending point of the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if path is NULL
  - SU_ERROR_OVERWRITE_VALID if *path already refers to a valid object
  - SU_ERROR_NULL_POINTER_INPUT if start_point is NULL
  - SU_ERROR_NULL_POINTER_INPUT if end_point is NULL
  - SU_ERROR_GENERIC if the path would be zero length

LO_RESULT LOPathCreateArc | ( | LOPathRef * | path,
|  | const LOPoint2D * | center_point,
|  | double | radius,
|  | double | start_angle,
|  | double | end_angle
| ) |  |

Creates a new path object representing an arc.

Since
  LayOut 2017, API 2.0

Parameters

  [out] | path | The path object.
  [in] | center_point | The center point of the arc.
  [in] | radius | The radius of the arc.
  [in] | start_angle | The start angle of the arc.
  [in] | end_angle | The end angle of the arc.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if path is NULL
  - SU_ERROR_OVERWRITE_VALID if *path already refers to a valid object
  - SU_ERROR_OUT_OF_RANGE if radius is less than or equal to zero
  - SU_ERROR_OUT_OF_RANGE if start_angle is equal to end_angle

LO_RESULT LOPathCreateBezier | ( | LOPathRef * | path,
|  | const LOPoint2D * | start_point,
|  | const LOPoint2D * | control_point_1,
|  | const LOPoint2D * | control_point_2,
|  | const LOPoint2D * | end_point
| ) |  |

Creates a new path object with a Bezier curve between start_point and end_point.

Parameters

  [out] | path | The path object.
  [in] | start_point | The starting point of the path.
  [in] | control_point_1 | The first control point.
  [in] | control_point_2 | The second control point.
  [in] | end_point | The ending point of the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if path is NULL
  - SU_ERROR_OVERWRITE_VALID if *path already refers to a valid object
  - SU_ERROR_NULL_POINTER_INPUT if start_point is NULL
  - SU_ERROR_NULL_POINTER_INPUT if control_point_1 is NULL
  - SU_ERROR_NULL_POINTER_INPUT if control_point_2 is NULL
  - SU_ERROR_NULL_POINTER_INPUT if end_point is NULL
  - SU_ERROR_GENERIC if the path would be zero length

LO_RESULT LOPathCreateFromEllipse | ( | LOPathRef * | path,
|  | LOEllipseRef | ellipse
| ) |  |

Creates a new path object representing the same shape as an ellipse object.

Parameters

  [out] | path | The path object.
  [in] | ellipse | The ellipse object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if path is NULL
  - SU_ERROR_OVERWRITE_VALID if *path already refers to a valid object
  - SU_ERROR_INVALID_INPUT if ellipse does not refer to a valid object

LO_RESULT LOPathCreateFromEndArrow | ( | LOPathRef * | arrow_path,
|  | LOPathRef | path
| ) |  |

Creates a new path object in the shape of the end arrow of the given path.

Parameters

  [out] | arrow_path | The end arrow as a path.
  [in] | path | The path object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if arrow_path is NULL
  - SU_ERROR_OVERWRITE_VALID if *arrow_path already refers to a valid object
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NO_DATA if path does not have an end arrow

LO_RESULT LOPathCreateFromRectangle | ( | LOPathRef * | path,
|  | LORectangleRef | rectangle
| ) |  |

Creates a new path object representing the same shape as a rectangle object.

Parameters

  [out] | path | The path object.
  [in] | rectangle | The rectangle object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if path is NULL
  - SU_ERROR_OVERWRITE_VALID if *path already refers to a valid object
  - SU_ERROR_INVALID_INPUT if rectangle does not refer to a valid object

LO_RESULT LOPathCreateFromStartArrow | ( | LOPathRef * | arrow_path,
|  | LOPathRef | path
| ) |  |

Creates a new path object in the shape of the start arrow of the given path.

Parameters

  [out] | arrow_path | The start arrow as a path.
  [in] | path | The path object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if arrow_path is NULL
  - SU_ERROR_OVERWRITE_VALID if *arrow_path already refers to a valid object
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NO_DATA if path does not have a start arrow

LO_EXPORT LOPathRef LOPathFromEntity | ( | LOEntityRef | entity | ) |

Converts from a LOEntityRef to a LOPathRef. This is essentially a downcast operation so the given LOEntityRef must be convertible to a LOPathRef.

Parameters

  [in] | entity | The entity object.

Returns
  - The converted LOPathRef if the downcast operation succeeds
  - If not, the returned reference will be invalid

LO_RESULT LOPathGetArc | ( | LOPathRef | path,
|  | bool * | is_arc,
|  | LOPoint2D * | center,
|  | double * | radius,
|  | double * | start_angle,
|  | double * | end_angle
| ) |  |

Gets whether or not the path represents an arc, and if so, gets the geometric representation of the arc.

Since
  LayOut 2017, API 2.0

Parameters

  [in] | path | The path object.
  [out] | is_arc | Whether or not the path is an arc.
  [out] | center | Center point of the arc. Will only be set if is_arc returns true.
  [out] | radius | Radius of the arc. Will only be set if is_arc returns true.
  [out] | start_angle | Start angle of the arc. Will only be set if is_arc returns true.
  [out] | end_angle | End angle of the arc. Will only be set if is_arc returns true.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if is_arc is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if center is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if radius is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if start_angle is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if end_angle is NULL

LO_RESULT LOPathGetCircle | ( | LOPathRef | path,
|  | bool * | is_circle,
|  | LOPoint2D * | center,
|  | double * | radius
| ) |  |

Gets whether or not the path represents a circle, and if so, gets the geometric representation of the circle.

Since
  LayOut 2017, API 2.0

Parameters

  [in] | path | The path object.
  [out] | is_circle | Whether or not the path is a circle.
  [out] | center | Center point of the circle. Will only be set if is_circle returns true.
  [out] | radius | Radius of the circle. Will only be set if is_circle returns true.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if is_circle is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if center is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if radius is NULL

LO_RESULT LOPathGetClosed | ( | LOPathRef | path,
|  | bool * | is_closed
| ) |  |

Gets whether or not the path is a closed loop.

Parameters

  [in] | path | The path object.
  [out] | is_closed | Whether the path is closed or not.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if is_closed is NULL

LO_RESULT LOPathGetEndPoint | ( | LOPathRef | path,
|  | LOPoint2D * | point
| ) |  |

Gets the end point for the path.

Parameters

  [in] | path | The path object.
  [out] | point | The end point.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL

LO_RESULT LOPathGetNumberOfPoints | ( | LOPathRef | path,
|  | size_t * | size
| ) |  |

Gets the number of points in the path.

Parameters

  [in] | path | The path object.
  [out] | size | The number of points in the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if size is NULL

LO_RESULT LOPathGetParametricLength | ( | LOPathRef | path,
|  | double * | parametric_length
| ) |  |

Gets the length of the path.

Parameters

  [in] | path | The path object.
  [out] | parametric_length | The length of the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if parametric_length is NULL

LO_RESULT LOPathGetPointAtIndex | ( | LOPathRef | path,
|  | size_t | point_index,
|  | LOPoint2D * | point
| ) |  |

Gets the point in the path at the given index.

Parameters

  [in] | path | The path object.
  [in] | point_index | The index of the point to get.
  [out] | point | The point at the given index.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_OUT_OF_RANGE if point_index is out of range
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL

LO_RESULT LOPathGetPointAtParameter | ( | LOPathRef | path,
|  | double | parametric_value,
|  | LOPoint2D * | point
| ) |  |

Gets the point at the given distance along the path.

Parameters

  [in] | path | The path object.
  [in] | parametric_value | The distance along the path to get the point.
  [out] | point | The point at the given distance along the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL
  - SU_ERROR_OUT_OF_RANGE if parametric_value is less than 0 or greater than the path's parametric length

LO_RESULT LOPathGetPoints | ( | LOPathRef | path,
|  | size_t | points_size,
|  | LOPoint2D | points[],
|  | size_t * | number_of_points_copied
| ) |  |

Gets the points in the path.

Parameters

  [in] | path | The path object.
  [in] | points_size | The maximum number of points to copy.
  [out] | points | The array that the points will be copied to.
  [out] | number_of_points_copied | The number of points actually copied.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_OUT_OF_RANGE if points_size is less than 1
  - SU_ERROR_NULL_POINTER_OUTPUT if points is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if points_copied is NULL

LO_RESULT LOPathGetPointTypeAtIndex | ( | LOPathRef | path,
|  | size_t | point_index,
|  | LOPathPointType * | pointtype
| ) |  |

Gets the type of the specified point in the path.

Parameters

  [in] | path | The path object.
  [in] | point_index | The index of the point to get type information of.
  [out] | pointtype | The point type.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if pointtype is NULL

LO_RESULT LOPathGetPointTypes | ( | LOPathRef | path,
|  | size_t | pointtypes_size,
|  | LOPathPointType | pointtypes[],
|  | size_t * | number_of_pointtypes_copied
| ) |  |

Gets the type of each point in the path.

Parameters

  [in] | path | The path object.
  [in] | pointtypes_size | The maximum number of point types to copy.
  [out] | pointtypes | The array that the point types will be copied to.
  [out] | number_of_pointtypes_copied | The number of point types actually copied.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_OUT_OF_RANGE if pointtypes_size is less than 1
  - SU_ERROR_NULL_POINTER_OUTPUT if pointtypes is NULL
  - SU_ERROR_NULL_POINTER_OUTPUT if number_of_pointtypes_copied is NULL

LO_RESULT LOPathGetStartPoint | ( | LOPathRef | path,
|  | LOPoint2D * | point
| ) |  |

Gets the start point for the path.

Parameters

  [in] | path | The path object.
  [out] | point | The start point.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL

LO_RESULT LOPathGetTangentAtParameter | ( | LOPathRef | path,
|  | double | parametric_value,
|  | LOVector2D * | tangent
| ) |  |

Gets the tangent at the given distance along the path.

Parameters

  [in] | path | The path object.
  [in] | parametric_value | The distance along the path to get the tangent.
  [out] | tangent | The tangent at the given distane along the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if tangent is NULL
  - SU_ERROR_OUT_OF_RANGE if parametric_value is less than 0 or greater than the path's parametric length

LO_RESULT LOPathGetWindingType | ( | LOPathRef | path,
|  | LOPathWindingType * | winding
| ) |  |

Returns the winding type of the path.

Since
  LayOut 2019, API 4.0

Parameters

  [in] | path | The path object.
  [out] | winding | The winding type of the path.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if path does not refer to a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if winding is NULL

LO_RESULT LOPathRelease | ( | LOPathRef * | path | ) |

Releases a path object. The object will be invalidated if releasing the last reference.

Parameters

  [in] | path | The path object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_INPUT if path is NULL
  - SU_ERROR_INVALID_INPUT if *path does not refer to a valid object

LO_EXPORT LOEntityRef LOPathToEntity | ( | LOPathRef | path | ) |

Converts from a LOPathRef to a LOEntityRef. This is essentially an upcast operation.

Parameters

  [in] | path | The path object.

Returns
  - The converted LOEntityRef if path is a valid object
  - If not, the returned reference will be invalid