Main Page
Related Pages
Modules
Data Structures
core
include
ai_matrix.h
1
/*
2
* Arnold API header file
3
* Copyright (c) 1998-2009 Marcos Fajardo, (c) 2009-2013 Solid Angle SL
4
*/
5
11
#pragma once
12
#include "ai_vector.h"
13
#include "ai_api.h"
14
20
typedef
float
AtMatrix
[4][4];
21
22
AI_API
void
AiM4Identity
(
AtMatrix
mout);
23
AI_API
void
AiM4Translation
(
AtMatrix
mout,
const
AtVector
* t);
24
AI_API
void
AiM4RotationX
(
AtMatrix
mout,
float
x);
25
AI_API
void
AiM4RotationY
(
AtMatrix
mout,
float
y);
26
AI_API
void
AiM4RotationZ
(
AtMatrix
mout,
float
z);
27
AI_API
void
AiM4Scaling
(
AtMatrix
mout,
const
AtVector
* s);
28
AI_API
void
AiM4Frame
(
AtMatrix
mout,
const
AtVector
* o,
const
AtVector
* u,
const
AtVector
* v,
const
AtVector
* w);
29
AI_API
void
AiM4PointByMatrixMult
(
AtPoint
* pout,
const
AtMatrix
m,
const
AtPoint
* pin);
30
AI_API
void
AiM4HPointByMatrixMult
(
AtHPoint
* pout,
const
AtMatrix
m,
const
AtHPoint
* pin);
31
AI_API
void
AiM4VectorByMatrixMult
(
AtVector
* vout,
const
AtMatrix
m,
const
AtVector
* vin);
32
AI_API
void
AiM4VectorByMatrixTMult
(
AtVector
* vout,
const
AtMatrix
m,
const
AtVector
* vin);
33
AI_API
void
AiM4Mult
(
AtMatrix
mout,
const
AtMatrix
ma,
const
AtMatrix
mb);
34
AI_API
void
AiM4Copy
(
AtMatrix
dest,
const
AtMatrix
src);
35
AI_API
void
AiM4Transpose
(
const
AtMatrix
min,
AtMatrix
mout);
36
AI_API
void
AiM4Invert
(
const
AtMatrix
min,
AtMatrix
mout);
37
AI_API
float
AiM4Determinant
(
const
AtMatrix
m);
38
AI_API
void
AiM4Lerp
(
AtMatrix
mout,
float
t,
const
AtMatrix
ma,
const
AtMatrix
mb);
39
AI_API
void
AiM4Berp
(
float
bu,
float
bv,
const
AtMatrix
m0,
const
AtMatrix
m1,
const
AtMatrix
m2,
AtMatrix
mout);
40
AI_API
bool
AiM4IsIdentity
(
const
AtMatrix
m);
41
AI_API
bool
AiM4IsSingular
(
const
AtMatrix
m);
42
43
AI_API
AtMatrix
AI_M4_IDENTITY;
44
AI_API
AtMatrix
AI_M4_ZERO;
45
46
/*\}*/
© 2009-2013 Solid Angle SL · all rights reserved · www.solidangle.com