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
vector3d.h
Go to the documentation of this file.
1 // Copyright 2017 Trimble Inc. All Rights Reserved.
2
7 #ifndef SKETCHUP_GEOMETRY_VECTOR3D_H_
8 #define SKETCHUP_GEOMETRY_VECTOR3D_H_
9
10 #include <SketchUpAPI/common.h>
11 #include <SketchUpAPI/geometry.h>
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
29 SU_RESULT SUVector3DCreate(
30 struct SUVector3D* vector, const struct SUPoint3D* from, const struct SUPoint3D* to);
31
44 SU_RESULT SUVector3DIsValid(const struct SUVector3D* vector, bool* valid);
45
59 SU_RESULT SUVector3DIsParallelTo(
60 const struct SUVector3D* vector1, const struct SUVector3D* vector2, bool* parallel);
61
75 SU_RESULT SUVector3DIsPerpendicularTo(
76 const struct SUVector3D* vector1, const struct SUVector3D* vector2, bool* perpendicular);
77
91 SU_RESULT SUVector3DIsSameDirectionAs(
92 const struct SUVector3D* vector1, const struct SUVector3D* vector2, bool* same_direction);
93
106 SU_RESULT SUVector3DIsEqual(
107 const struct SUVector3D* vector1, const struct SUVector3D* vector2, bool* equal);
108
120 SU_RESULT SUVector3DLessThan(
121 const struct SUVector3D* vector1, const struct SUVector3D* vector2, bool* less_than);
122
133 SU_RESULT SUVector3DNormalize(struct SUVector3D* vector);
134
144 SU_RESULT SUVector3DReverse(struct SUVector3D* vector);
145
158 SU_RESULT SUVector3DDot(
159 const struct SUVector3D* vector1, const struct SUVector3D* vector2, double* dot);
160
173 SU_RESULT SUVector3DCross(
174 const struct SUVector3D* vector1, const struct SUVector3D* vector2, struct SUVector3D* cross);
175
187 SU_RESULT SUVector3DIsUnitVector(const struct SUVector3D* vector, bool* is_unit_vector);
188
200 SU_RESULT SUVector3DGetLength(const struct SUVector3D* vector, double* length);
201
213 SU_RESULT SUVector3DSetLength(struct SUVector3D* vector, double length);
214
227 SU_RESULT SUVector3DAngleBetween(
228 const struct SUVector3D* vector1, const struct SUVector3D* vector2, double* angle);
229
243 SU_RESULT SUVector3DGetArbitraryAxes(
244 const struct SUVector3D* z_axis, struct SUVector3D* x_axis, struct SUVector3D* y_axis);
245
258 SU_RESULT SUVector3DTransform(const struct SUTransformation* transform, struct SUVector3D* vector);
259
277 SU_RESULT SUVector3DLinearCombination(
278 const struct SUVector3D* vectors, const double* weights, const size_t size,
279 struct SUVector3D* vector);
280
281 #ifdef __cplusplus
282 } // extern "C"
283 #endif
284
285 #endif // SKETCHUP_GEOMETRY_VECTOR3D_H_