SketchUp C API

- Main Page
- Related Pages
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Related Functions
SUArcCurveRef Struct Reference

References an arccurve. More...

`#include <SketchUpAPI/model/arccurve.h>`

Inherits SUCurveRef.

## Related Functions
(Note that these are not member functions.)
SUEntityRef | SUArcCurveToEntity (SUArcCurveRef arccurve)
| Converts from an SUArcCurveRef to an SUEntityRef. This is essentially an upcast operation. More...
SUArcCurveRef | SUArcCurveFromEntity (SUEntityRef entity)
| Converts from an SUEntityRef to an SUArcCurveRef. This is essentially a downcast operation so the given SUEntityRef must be convertible to an SUArcCurveRef. More...
SUCurveRef | SUArcCurveToCurve (SUArcCurveRef arccurve)
| Converts from an SUArcCurveRef to an SUCurveRef. This is essentially an upcast operation. More...
SUArcCurveRef | SUArcCurveFromCurve (SUCurveRef curve)
| Converts from an SUCurveRef to an SUArcCurveRef. This is essentially a downcast operation so the given SUCurveRef must be convertible to an SUArcCurveRef. More...
enum SUResult | SUArcCurveCreate (SUArcCurveRef *arccurve, const struct SUPoint3D *center, const struct SUPoint3D *start_point, const struct SUPoint3D *end_point, const struct SUVector3D *normal, size_t num_edges)
| Creates an arccurve object. If the start and end points are the same a full circle will be generated. More...
enum SUResult | SUArcCurveRelease (SUArcCurveRef *arccurve)
| Releases an arccurve object and its associated edge objects. More...
enum SUResult | SUArcCurveGetRadius (SUArcCurveRef arccurve, double *radius)
| Retrieves the raduis. More...
enum SUResult | SUArcCurveGetStartPoint (SUArcCurveRef arccurve, struct SUPoint3D *point)
| Retrieves the starting point. More...
enum SUResult | SUArcCurveGetEndPoint (SUArcCurveRef arccurve, struct SUPoint3D *point)
| Retrieves the ending point. More...
enum SUResult | SUArcCurveGetXAxis (SUArcCurveRef arccurve, struct SUVector3D *axis)
| Retrieves the x-axis. More...
enum SUResult | SUArcCurveGetYAxis (SUArcCurveRef arccurve, struct SUVector3D *axis)
| Retrieves the y-axis. More...
enum SUResult | SUArcCurveGetCenter (SUArcCurveRef arccurve, struct SUPoint3D *point)
| Retrieves the center point. More...
enum SUResult | SUArcCurveGetNormal (SUArcCurveRef arccurve, struct SUVector3D *normal)
| Retrieves the normal. More...
enum SUResult | SUArcCurveGetStartAngle (SUArcCurveRef arccurve, double *angle)
| Retrieves the start angle. More...
enum SUResult | SUArcCurveGetEndAngle (SUArcCurveRef arccurve, double *angle)
| Retrieves the end angle. More...
enum SUResult | SUArcCurveGetIsFullCircle (SUArcCurveRef arccurve, bool *is_full)
Related Functions inherited from SUCurveRef
SUEntityRef | SUCurveToEntity (SUCurveRef curve)
| Converts from an SUCurveRef to an SUEntityRef. This is essentially an upcast operation. More...
SUCurveRef | SUCurveFromEntity (SUEntityRef entity)
| Converts from an SUEntityRef to an SUCurveRef. This is essentially a downcast operation so the given SUEntityRef must be convertible to an SUCurveRef. More...
enum SUResult | SUCurveCreateWithEdges (SUCurveRef *curve, const SUEdgeRef edges[], size_t len)
| Creates a curve object with the given array of edges that is not connected to any face object. The array of N edges is sorted such that for each edge in the range [0, N] the start position of each edge is the same as the end position of the previous edge in the array. Each element of the array of edges is subsequently associated with the created curve object and must not be deallocated via SUEdgeRelease(). More...
enum SUResult | SUCurveRelease (SUCurveRef *curve)
| Releases a curve object and its associated edge objects. More...
enum SUResult | SUCurveGetType (SUCurveRef curve, enum SUCurveType *type)
| Retrieves the curve type of a curve object. More...
enum SUResult | SUCurveGetNumEdges (SUCurveRef curve, size_t *count)
| Retrieves the number of edges that belong to a curve object. More...
enum SUResult | SUCurveGetEdges (SUCurveRef curve, size_t len, SUEdgeRef edges[], size_t *count)
| Retrieves the edges of a curve object. Provides access to all edges in the curve. The first edge is the first element of the edges array and the last edge is the last element if all edges were retrieved. More...
enum SUResult | SUCurveIsPolygon (SUCurveRef curve, bool *is_curve)
| True if this edge was originally created by the polygon tool, otherwise false. More...
Related Functions inherited from SUEntityRef
enum SURefType | SUEntityGetType (SUEntityRef entity)
| Returns the concrete type of the given entity. More...
enum SUResult | SUEntityGetID (SUEntityRef entity, int32_t *entity_id)
| Retrieves the id of the entity. More...
enum SUResult | SUEntityGetPersistentID (SUEntityRef entity, int64_t *entity_pid)
| Retrieves the persistent id of the entity. More...
enum SUResult | SUEntityGetNumAttributeDictionaries (SUEntityRef entity, size_t *count)
| Retrieves the number of attribute dictionaries of an entity. More...
enum SUResult | SUEntityGetAttributeDictionaries (SUEntityRef entity, size_t len, SUAttributeDictionaryRef dictionaries[], size_t *count)
| Retrieves the attribute dictionaries of an entity. More...
enum SUResult | SUEntityAddAttributeDictionary (SUEntityRef entity, SUAttributeDictionaryRef dictionary)
| Adds the attribute dictionary to an entity. The given dictionary object must not belong to another entity. In other words, each dictionary should be added to one entity only. More...
enum SUResult | SUEntityGetAttributeDictionary (SUEntityRef entity, const char *name, SUAttributeDictionaryRef *dictionary)
| Retrieves the attribute dictionary of an entity that has the given name. More...
enum SUResult | SUEntityGetModel (SUEntityRef entity, SUModelRef *model)
| Retrieves the model object associated with the entity. More...
enum SUResult | SUEntityGetParentEntities (SUEntityRef entity, SUEntitiesRef *entities)
| Retrieves the entities object which contains the entity. More...

## Detailed Description

References an arccurve.

## Friends And Related Function Documentation

enum SUResult SUArcCurveCreate | ( | SUArcCurveRef * | arccurve,
|  | const struct SUPoint3D * | center,
|  | const struct SUPoint3D * | start_point,
|  | const struct SUPoint3D * | end_point,
|  | const struct SUVector3D * | normal,
|  | size_t | num_edges
| ) |  |
| related

Creates an arccurve object. If the start and end points are the same a full circle will be generated.

Since
  SketchUp 2016, API 4.0

Parameters

  [out] | arccurve | The arccurve object created.
  [in] | center | The point at the center of the arc.
  [in] | start_point | The point at the start of the arc.
  [in] | end_point | The point at the end of the arc.
  [in] | normal | The vector normal to the arc plane.
  [in] | num_edges | The number of edges for the arc.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_OUTPUT if arccurve is NULL
  - SU_ERROR_OVERWRITE_VALID if arccurve already references a valid object
  - SU_ERROR_NULL_POINTER_INPUT if center, start_point, end_point, or normal are NULL

SUArcCurveRef SUArcCurveFromCurve | ( | SUCurveRef | curve | ) |
| related

Converts from an SUCurveRef to an SUArcCurveRef. This is essentially a downcast operation so the given SUCurveRef must be convertible to an SUArcCurveRef.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | curve | The given curve reference.

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

SUArcCurveRef SUArcCurveFromEntity | ( | SUEntityRef | entity | ) |
| related

Converts from an SUEntityRef to an SUArcCurveRef. This is essentially a downcast operation so the given SUEntityRef must be convertible to an SUArcCurveRef.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | entity | The given entity reference.

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

enum SUResult SUArcCurveGetCenter | ( | SUArcCurveRef | arccurve,
|  | struct SUPoint3D * | point
| ) |  |
| related

Retrieves the center point.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | point | The arccurve center point.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL

enum SUResult SUArcCurveGetEndAngle | ( | SUArcCurveRef | arccurve,
|  | double * | angle
| ) |  |
| related

Retrieves the end angle.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | angle | The arccurve end angle.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if angle is NULL

enum SUResult SUArcCurveGetEndPoint | ( | SUArcCurveRef | arccurve,
|  | struct SUPoint3D * | point
| ) |  |
| related

Retrieves the ending point.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | point | The arccurve ending point.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL

enum SUResult SUArcCurveGetIsFullCircle | ( | SUArcCurveRef | arccurve,
|  | bool * | is_full
| ) |  |
| related

a boolean indicating if the arccurve is a full circle.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | is_full | Returns true if the arccurve is a full corcle.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if is_full is NULL

enum SUResult SUArcCurveGetNormal | ( | SUArcCurveRef | arccurve,
|  | struct SUVector3D * | normal
| ) |  |
| related

Retrieves the normal.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | normal | The arccurve normal vector.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if normal is NULL

enum SUResult SUArcCurveGetRadius | ( | SUArcCurveRef | arccurve,
|  | double * | radius
| ) |  |
| related

Retrieves the raduis.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | radius | The arccurve radius.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if radius is NULL

enum SUResult SUArcCurveGetStartAngle | ( | SUArcCurveRef | arccurve,
|  | double * | angle
| ) |  |
| related

Retrieves the start angle.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | angle | The arccurve start angle.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if angle is NULL

enum SUResult SUArcCurveGetStartPoint | ( | SUArcCurveRef | arccurve,
|  | struct SUPoint3D * | point
| ) |  |
| related

Retrieves the starting point.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | point | The arccurve starting point.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if point is NULL

enum SUResult SUArcCurveGetXAxis | ( | SUArcCurveRef | arccurve,
|  | struct SUVector3D * | axis
| ) |  |
| related

Retrieves the x-axis.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | axis | The arccurve x-axis.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if axis is NULL

enum SUResult SUArcCurveGetYAxis | ( | SUArcCurveRef | arccurve,
|  | struct SUVector3D * | axis
| ) |  |
| related

Retrieves the y-axis.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The arccurve object.
  [out] | axis | The arccurve y-axis.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_INVALID_INPUT if arccurve is not a valid object
  - SU_ERROR_NULL_POINTER_OUTPUT if axis is NULL

enum SUResult SUArcCurveRelease | ( | SUArcCurveRef * | arccurve | ) |
| related

Releases an arccurve object and its associated edge objects.

Since
  SketchUp 2016, API 4.0

Parameters

  [in,out] | arccurve | The arccurve object.

Returns
  - SU_ERROR_NONE on success
  - SU_ERROR_NULL_POINTER_INPUT if arccurve is NULL
  - SU_ERROR_INVALID_INPUT if arccurve does not reference a valid object

SUCurveRef SUArcCurveToCurve | ( | SUArcCurveRef | arccurve | ) |
| related

Converts from an SUArcCurveRef to an SUCurveRef. This is essentially an upcast operation.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The given arccurve reference.

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

SUEntityRef SUArcCurveToEntity | ( | SUArcCurveRef | arccurve | ) |
| related

Converts from an SUArcCurveRef to an SUEntityRef. This is essentially an upcast operation.

Since
  SketchUp 2016, API 4.0

Parameters

  [in] | arccurve | The given arccurve reference.

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

The documentation for this struct was generated from the following files:

- SketchUpAPI/model/defs.h
- SketchUpAPI/model/arccurve.h