Vuo  2.4.1
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
53
57static inline bool VuoTransform2d_isIdentity(const VuoTransform2d transform)
58{
59 const float tolerance = 0.00001f;
60 return fabs(transform.translation.x) < tolerance
61 && fabs(transform.translation.y) < tolerance
62 && fabs(transform.scale.x - 1.) < tolerance
63 && fabs(transform.scale.y - 1.) < tolerance
64 && fabs(transform.rotation) < tolerance;
65}
66