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
transformation.h
Go to the documentation of this file.
1 // Copyright 2017 Trimble Inc., All rights reserved.
2
7 #ifndef SKETCHUP_GEOMETRY_TRANSFORMATION_H_
8 #define SKETCHUP_GEOMETRY_TRANSFORMATION_H_
9
10 #include <SketchUpAPI/geometry.h>
11
12 #pragma pack(push, 8)
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif // __cplusplus
17
37 SU_RESULT SUTransformationSetFromPointAndNormal(
38 struct SUTransformation* transform, const struct SUPoint3D* point,
39 const struct SUVector3D* normal);
40
62 SU_RESULT SUTransformationSetFromPointAndAxes(
63 struct SUTransformation* transform, const struct SUPoint3D* point,
64 const struct SUVector3D* x_axis, const struct SUVector3D* y_axis,
65 const struct SUVector3D* z_axis);
66
79 SU_RESULT SUTransformationTranslation(
80 struct SUTransformation* transform, const struct SUVector3D* vector);
81
92 SU_RESULT SUTransformationScale(struct SUTransformation* transform, double scale);
93
107 SU_RESULT SUTransformationNonUniformScale(
108 struct SUTransformation* transform, double x_scale, double y_scale, double z_scale);
109
123 SU_RESULT SUTransformationScaleAboutPoint(
124 struct SUTransformation* transform, const struct SUPoint3D* point, double scale);
125
142 SU_RESULT SUTransformationNonUniformScaleAboutPoint(
143 struct SUTransformation* transform, const struct SUPoint3D* point, double x_scale,
144 double y_scale, double z_scale);
145
161 SU_RESULT SUTransformationRotation(
162 struct SUTransformation* transform, const struct SUPoint3D* point,
163 const struct SUVector3D* vector, double angle);
164
183 SU_RESULT SUTransformationInterpolate(
184 struct SUTransformation* transform, const struct SUTransformation* t1,
185 const struct SUTransformation* t2, double weight);
186
198 SU_RESULT SUTransformationIsIdentity(const struct SUTransformation* transform, bool* is_identity);
199
212 SU_RESULT SUTransformationGetInverse(
213 const struct SUTransformation* transform, struct SUTransformation* inverse);
214
226 SU_RESULT SUTransformationGetOrigin(
227 const struct SUTransformation* transform, struct SUPoint3D* origin);
228
240 SU_RESULT SUTransformationGetXAxis(
241 const struct SUTransformation* transform, struct SUVector3D* x_axis);
242
254 SU_RESULT SUTransformationGetYAxis(
255 const struct SUTransformation* transform, struct SUVector3D* y_axis);
256
268 SU_RESULT SUTransformationGetZAxis(
269 const struct SUTransformation* transform, struct SUVector3D* z_axis);
270
282 SU_RESULT SUTransformationGetZRotation(
283 const struct SUTransformation* transform, double* z_rotation);
284
298 SU_RESULT SUTransformationMultiply(
299 const struct SUTransformation* transform1, const struct SUTransformation* transform2,
300 struct SUTransformation* out_transform);
301
313 SU_RESULT SUTransformationIsMirrored(const struct SUTransformation* transform, bool* is_mirrored);
314
315 #ifdef __cplusplus
316 } // end extern "C"
317 #endif // __cplusplus
318
319 #pragma pack(pop)
320
321 #endif // SKETCHUP_GEOMETRY_TRANSFORMATION_H_