LayOut C API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
path.h
Go to the documentation of this file.
1 // Copyright 2015 Trimble Navigation Ltd. All rights reserved.
2 // This file is intended for public distribution.
3 
4 #ifndef LAYOUT_MODEL_PATH_H_
5 #define LAYOUT_MODEL_PATH_H_
6 
7 #include <LayOutAPI/common.h>
9 #include <LayOutAPI/model/defs.h>
10 
21 typedef enum {
30 
36 typedef enum {
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif // __cplusplus
46 
62  const LOPoint2D* start_point,
63  const LOPoint2D* end_point);
64 
84  const LOPoint2D* start_point,
85  const LOPoint2D* control_point_1,
86  const LOPoint2D* control_point_2,
87  const LOPoint2D* end_point);
88 
101 
114 
130 LO_RESULT LOPathCreateArc(LOPathRef* path, const LOPoint2D* center_point,
131  double radius, double start_angle, double end_angle);
132 
141 
152 
163 
173 
183 LO_RESULT LOPathGetNumberOfPoints(LOPathRef path, size_t* size);
184 
199  size_t points_size,
200  LOPoint2D points[],
201  size_t* number_of_points_copied);
202 
215  size_t point_index,
216  LOPoint2D* point);
217 
235  size_t pointtypes_size,
236  LOPathPointType pointtypes[],
237  size_t* number_of_pointtypes_copied);
238 
250  size_t point_index,
251  LOPathPointType* pointtype);
252 
263  LOPoint2D* point);
264 
275  LOPoint2D* point);
276 
290  LOPathRef path);
291 
305  LOPathRef path);
306 
317  bool* is_closed);
318 
329  double* parametric_length);
330 
344  double parametric_value,
345  LOPoint2D* point);
346 
360  double parametric_value,
361  LOVector2D* tangent);
362 
380 LO_RESULT LOPathGetCircle(LOPathRef path, bool* is_circle, LOPoint2D* center,
381  double* radius);
382 
406 LO_RESULT LOPathGetArc(LOPathRef path, bool* is_arc, LOPoint2D* center,
407  double* radius, double* start_angle, double* end_angle);
408 
420 LO_RESULT LOPathAppendLineTo(LOPathRef path, const LOPoint2D* point);
421 
438  const LOPoint2D* control_point_1,
439  const LOPoint2D* control_point_2,
440  const LOPoint2D* point);
441 
457 
469 
481 
482 #ifdef __cplusplus
483 } // end extern "C"
484 #endif // __cplusplus
485 #endif // LAYOUT_MODEL_PATH_H_