-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtransformer.h
More file actions
22 lines (18 loc) · 735 Bytes
/
Copy pathtransformer.h
File metadata and controls
22 lines (18 loc) · 735 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef RENDER_TRANSFORMER_H
#define RENDER_TRANSFORMER_H
#include "matrix.h"
#include "vector.h"
typedef struct tagTransformer {
Vector location;
Vector rotation; // radian
Vector scale;
Matrix *matrix;
Matrix *inverseMatrix;
} Transformer;
Transformer *TransformerCreate(Vector location, Vector rotation, Vector scale);
bool TransformerDestroy(Transformer *transformer);
bool TransformerUpdateTransformationMatrix(Transformer *transformer);
Vector TransformerTransformPoint(const Transformer *transformer, Vector point);
Triangle TransformerTransformTriangle(const Transformer *transformer, Triangle triangle);
Vector TransformerDetransform(const Transformer *transformer, Vector point);
#endif // RENDER_TRANSFORMER_H