Dayz Explorer
1.28.160049
Loading...
Searching...
No Matches
enmath3d.c
Go to the documentation of this file.
1
18
proto native
vector
Vector
(
float
x
,
float
y
,
float
z);
19
20
enum
ECurveType
21
{
22
CatmullRom
,
23
NaturalCubic
,
24
UniformCubic
25
};
26
27
class
Math3D
28
{
29
private
void
Math3D
() {}
30
private
void
~Math3D
() {}
31
32
//-----------------------------------------------------------------
33
proto
static
vector
ClipLine(
vector
start,
vector
end,
vector
norm,
float
d);
34
43
proto
static
float
IntersectRaySphere(
vector
raybase,
vector
raycos,
vector
center,
float
radius);
44
53
proto
static
float
IntersectRayBox(
vector
start,
vector
end,
vector
mins,
vector
maxs);
54
63
proto
static
bool
IntersectSphereBox(
vector
origin,
float
radius,
vector
mins,
vector
maxs);
64
74
proto
static
bool
IntersectSphereCone(
vector
origin,
float
radius,
vector
conepos,
vector
axis,
float
angle);
75
85
proto
static
bool
IntersectWholeSphereCone(
vector
origin,
float
radius,
vector
conepos,
vector
axis,
float
angle);
86
97
proto
static
bool
IntersectCylinderOBB(
vector
mins,
vector
maxs,
vector
obbMat[4],
vector
cylMat[4],
float
cylinderRadius,
float
cylinderHeight);
98
108
proto
static
bool
IntersectRayCylinder(
vector
rayStart,
vector
rayEnd,
vector
center,
float
radius,
float
height);
109
119
proto
static
int
IntersectRayPlane(
vector
rayStart,
vector
rayEnd,
vector
planeNormal,
float
planeDist, out
vector
intersection);
120
133
proto
static
void
YawPitchRollMatrix(
vector
ang, out
vector
mat[3]);
134
150
proto
static
void
DirectionAndUpMatrix(
vector
dir,
vector
up, out
vector
mat[4]);
151
167
proto
static
void
MatrixMultiply4(
vector
mat0[4],
vector
mat1[4], out
vector
res[4]);
168
184
proto
static
void
MatrixMultiply3(
vector
mat0[3],
vector
mat1[3], out
vector
res[3]);
185
201
proto
static
void
MatrixInvMultiply4(
vector
mat0[4],
vector
mat1[4], out
vector
res[4]);
202
218
proto
static
void
MatrixInvMultiply3(
vector
mat0[3],
vector
mat1[3], out
vector
res[3]);
219
224
proto
static
void
MatrixInverse4(
vector
mat[4]);
225
230
proto
static
void
MatrixInverse3(
vector
mat[3]);
231
236
proto
static
void
MatrixOrthogonalize4(
vector
mat[4]);
237
242
proto
static
void
MatrixOrthogonalize3(
vector
mat[3]);
243
256
static
void
MatrixIdentity4(out
vector
mat[4])
257
{
258
mat[0] =
"1 0 0"
;
259
mat[1] =
"0 1 0"
;
260
mat[2] =
"0 0 1"
;
261
mat[3] =
vector
.Zero;
262
}
263
275
static
void
MatrixIdentity3(out
vector
mat[3])
276
{
277
mat[0] =
"1 0 0"
;
278
mat[1] =
"0 1 0"
;
279
mat[2] =
"0 0 1"
;
280
}
281
294
static
void
ScaleMatrix(
float
scale, out
vector
mat[3])
295
{
296
vector
v0, v1, v2;
297
v0[0] = scale;
298
v1[1] = scale;
299
v2[2] = scale;
300
mat[0] = v0;
301
mat[1] = v1;
302
mat[2] = v2;
303
}
304
316
static
void
QuatIdentity(out
float
q[4])
317
{
318
q[0] = 0;
319
q[1] = 0;
320
q[2] = 0;
321
q[3] = 1;
322
}
323
337
static
void
QuatCopy(
float
s[4], out
float
d[4])
338
{
339
d[0] = s[0];
340
d[1] = s[1];
341
d[2] = s[2];
342
d[3] = s[3];
343
}
344
360
proto
static
void
MatrixToQuat(
vector
mat[3], out
float
d[4]);
361
362
364
proto
static
void
QuatToMatrix(
float
q[4], out
vector
mat[3]);
365
379
proto
static
vector
MatrixToAngles(
vector
mat[3]);
380
397
proto
static
void
QuatLerp(out
float
qout[4],
float
q1[4],
float
q2[4],
float
frac);
398
414
proto
static
void
QuatMultiply(out
float
qout[4],
float
q1[4],
float
q2[4]);
415
417
proto
static
vector
QuatToAngles(
float
q[4]);
418
436
proto
static
int
CheckBoundBox(
vector
mins1,
vector
maxs1,
vector
mins2,
vector
maxs2);
437
447
static
vector
GetRandomDir()
448
{
449
float
x
=
Math
.RandomFloatInclusive(-1, 1);
450
float
y
=
Math
.RandomFloatInclusive(-1, 1);
451
float
z =
Math
.RandomFloatInclusive(-1, 1);
452
453
return
Vector
(
x
,
y
, z).Normalized();
454
}
455
456
471
proto
static
native
vector
Curve(
ECurveType
type,
float
param, notnull
array<vector>
points);
472
473
478
proto
static
vector
NearestPoint(
vector
beg,
vector
end,
vector
pos);
479
484
proto
static
float
AngleFromPosition(
vector
origin,
vector
originDir,
vector
target);
485
495
proto
static
void
ConePoints(
vector
origin,
float
length,
float
halfAngle,
float
angleOffset, out
vector
leftPoint, out
vector
rightPoint);
496
503
proto
static
void
BlendCartesian(
vector
samplePosition, notnull
array<vector>
inPositions, notnull
array<float>
outWeights);
504
};
Math3D
Definition
enmath3d.c:28
Math
Definition
enmath.c:7
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
vector
Definition
enconvert.c:106
ECurveType
ECurveType
Definition
enmath3d.c:21
Vector
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
NaturalCubic
@ NaturalCubic
Definition
enmath3d.c:23
CatmullRom
@ CatmullRom
Definition
enmath3d.c:22
UniformCubic
@ UniformCubic
Definition
enmath3d.c:24
x
Icon x
y
Icon y
Daten
1_core
proto
enmath3d.c
Generated by
1.12.0