LibreOffice
LibreOffice 6.4 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:
XPolyPolygon2D XInterface

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
nPolygonIndexThe index of the polygon where the point to be extract is contained within. This index must be in the range [0,numPolygons-1].
nPointIndexThe 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::IndexOutOfBoundsExceptionif 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
nPolygonIndexThe index of the polygon to start point retrieval with. This index must be in the range [0,numPolygons-1].
nNumberOfPolygonsThe number of polygons to extract. This value must not exceed numPolygons-nPolygonIndex.
nPointIndexThe 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.
nNumberOfPointsThe 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::IndexOutOfBoundsExceptionif 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
pointThe point to be set at the poly-polygon.
nPolygonIndexThe index of the polygon to insert the point in. This index must be in the range [0,numPolygons].
nPointIndexThe 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::IndexOutOfBoundsExceptionif 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
pointsthe points.
nPolygonIndexThe 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::IndexOutOfBoundsExceptionif one of the given values exceed the permissible range.

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