LibreOffice: XBezierPolyPolygon2D Interface Reference

LibreOffice LibreOffice 7.3 SDK API Reference

Public Member Functions | List of all members
XBezierPolyPolygon2D Interface Reference

This is a specialized interface for a 2D poly-polygon containing straight line and Bezier segments. More...

`import"XBezierPolyPolygon2D.idl";`

Inheritance diagram for XBezierPolyPolygon2D:

## Public Member Functions
sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > > | getBezierSegments ([in] long nPolygonIndex, [in] long nNumberOfPolygons, [in] long nPointIndex, [in] long nNumberOfPoints) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Query subset of this poly-polygon. More...
void | setBezierSegments ([in] sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > > points, [in] long nPolygonIndex) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Set the specified sequence of Bezier segments to the poly-polygon. More...
::com::sun::star::geometry::RealBezierSegment2D | getBezierSegment ([in] long nPolygonIndex, [in] long nPointIndex) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Get a single point from the poly-polygon. More...
void | setBezierSegment ([in] ::com::sun::star::geometry::RealBezierSegment2D point, [in] long nPolygonIndex, [in] long nPointIndex) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Set a single point on the poly-polygon. More...
Public Member Functions inherited from XPolyPolygon2D
void | addPolyPolygon ([in] ::com::sun::star::geometry::RealPoint2D position, [in] XPolyPolygon2D polyPolygon) raises (com::sun::star::lang::IllegalArgumentException)
| Add the specified poly-polygon at the given position. More...
long | getNumberOfPolygons ()
| Query number of polygons inside this poly-polygon. More...
long | getNumberOfPolygonPoints ([in] long polygon) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Query number of points inside given polygon. More...
FillRule | getFillRule ()
| Query the rule used to determine inside and outside of the poly-polygon. More...
void | setFillRule ([in] FillRule fillRule)
| Set the rule used to determine inside and outside of the poly-polygon. More...
boolean | isClosed ([in] long index) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Query whether the specified polygon outline is closed. More...
void | setClosed ([in] long index, [in] boolean closedState) raises (com::sun::star::lang::IndexOutOfBoundsException)
| Set the close state of the specified polygon outline. More...
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...

## Detailed Description

This is a specialized interface for a 2D poly-polygon containing straight line and Bezier segments.

This poly-polygon can contain polygons consisting of a mixture of cubic Bezier curves and straight lines. As the straight line is a special case of a cubic Bezier curve (control points collinear with the line through start and end point), this can be expressed uniformly with a sequence of RealBezierSegment2Ds.

By convention, a RealBezierSegment2D is a straight line segment, if all three contained points are strictly equal.

Since
  OOo 2.0

## Member Function Documentation

## ◆ getBezierSegment()

::com::sun::star::geometry::RealBezierSegment2D getBezierSegment | ( | [in] long | nPolygonIndex,
|  | [in] long | nPointIndex
| ) |  |
raises | ( | com::sun::star::lang::IndexOutOfBoundsException
| ) |  |

Get a single point from the poly-polygon.

Parameters

  nPolygonIndex | The index of the polygon where the point to be extract is contained within. This index must be in the range [0,numPolygons-1].
  nPointIndex | The index of the point in the polygon specified by nPolygonIndex, which is to be retrieved. This value must not exceed the number of points in this polygon minus one.

Returns
  the requested point.

Exceptions

  com::sun::star::lang::IndexOutOfBoundsException | if one of the given values exceed the permissible range.

## ◆ getBezierSegments()

sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > > getBezierSegments | ( | [in] long | nPolygonIndex,
|  | [in] long | nNumberOfPolygons,
|  | [in] long | nPointIndex,
|  | [in] long | nNumberOfPoints
| ) |  |
raises | ( | com::sun::star::lang::IndexOutOfBoundsException
| ) |  |

Query subset of this poly-polygon.

Query subset of this poly-polygon, starting at the given polygon and the given point within that polygon, and containing the specified number of polygons and points in the last polygon.

Parameters

  nPolygonIndex | The index of the polygon to start point retrieval with. This index must be in the range [0,numPolygons-1].
  nNumberOfPolygons | The number of polygons to extract. This value must not exceed numPolygons-nPolygonIndex.
  nPointIndex | The index of the first point in the first polygon to extract. This value must not exceed the number of points in this polygon minus one.
  nNumberOfPoints | The number of points to extract from the last polygon. This value must not exceed the number of points in this last polygon minus one.

Returns
  the sequence of extracted points.

Exceptions

  com::sun::star::lang::IndexOutOfBoundsException | if one of the given values exceed the permissible range.

## ◆ setBezierSegment()

void setBezierSegment | ( | [in] ::com::sun::star::geometry::RealBezierSegment2D | point,
|  | [in] long | nPolygonIndex,
|  | [in] long | nPointIndex
| ) |  |
raises | ( | com::sun::star::lang::IndexOutOfBoundsException
| ) |  |

Set a single point on the poly-polygon.

The remaining points of the poly-polygon will not be changed by this method. Use XBezierPolyPolygon2D::getNumberOfPolygons() or XBezierPolyPolygon2D::getNumberOfPolygonPoints() to append points or polygons, respectively.

Parameters

  point | The point to be set at the poly-polygon.
  nPolygonIndex | The index of the polygon to insert the point in. This index must be in the range [0,numPolygons].
  nPointIndex | The index of the point in the polygon specified by nPolygonIndex, which is to be set. This value must not exceed the number of points in this polygon.

Exceptions

  com::sun::star::lang::IndexOutOfBoundsException | if one of the given values exceed the permissible range.

## ◆ setBezierSegments()

void setBezierSegments | ( | [in] sequence< sequence< ::com::sun::star::geometry::RealBezierSegment2D > > | points,
|  | [in] long | nPolygonIndex
| ) |  |
raises | ( | com::sun::star::lang::IndexOutOfBoundsException
| ) |  |

Set the specified sequence of Bezier segments to the poly-polygon.

This method can either set the whole poly-polygon to the new data, or insert the segments at the given index

Parameters

  points | the points.
  nPolygonIndex | The index of the polygon to start segment insertion with. This index must be in the range [0,numPolygons], and the insertion will take place before this position (i.e. when specifying 0 here, the given Bezier sequence will precede all existing polygons already within the poly-polygon). To append to a poly-polygon, call setPoints() with XBezierPolyPolygon2D::getNumberOfPolygons() as the polygon index. If nPolygonIndex is -1, the given Bezier sequence replaces the poly-polygon content, such that after this method completes, it contains exactly the specified Bezier segment data.

Exceptions

  com::sun::star::lang::IndexOutOfBoundsException | if one of the given values exceed the permissible range.

The documentation for this interface was generated from the following file:

- com/sun/star/rendering/XBezierPolyPolygon2D.idl