Vuo  2.4.0
VuoTransform2d.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "VuoPoint2d.h"
13#include "VuoPoint3d.h"
14#include "VuoReal.h"
15
27typedef struct
28{
29 VuoPoint2d translation;
31 VuoPoint2d scale;
33
35VuoTransform2d VuoTransform2d_make(VuoPoint2d translation, VuoReal rotation, VuoPoint2d scale);
36// See VuoTransform.h for 2D-3D conversions.
37
41
42VuoPoint2d VuoTransform2d_transform_VuoPoint2d(VuoTransform2d transform, VuoPoint2d point);
43VuoPoint3d VuoTransform2d_transform_VuoPoint3d(VuoTransform2d transform, VuoPoint3d point);
44
46
54
58static inline bool VuoTransform2d_isIdentity(const VuoTransform2d transform)
59{
60 const float tolerance = 0.00001f;
61 return fabs(transform.translation.x) < tolerance
62 && fabs(transform.translation.y) < tolerance
63 && fabs(transform.scale.x - 1.) < tolerance
64 && fabs(transform.scale.y - 1.) < tolerance
65 && fabs(transform.rotation) < tolerance;
66}
67