PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
Math3D library

Data Structures

class  Math3D
 

Enumerations

enum  ECurveType { CatmullRom , NaturalCubic , UniformCubic }
 

Functions

proto native vector Vector (float x, float y, float z)
 Vector constructor from components.
 
private void Math3D ()
 
private void ~Math3D ()
 
static proto vector ClipLine (vector start, vector end, vector norm, float d)
 
static proto float IntersectRaySphere (vector raybase, vector raycos, vector center, float radius)
 Tests whether ray is intersecting sphere.
 
static proto float IntersectRayBox (vector start, vector end, vector mins, vector maxs)
 Tests whether ray is intersecting axis aligned box.
 
static proto bool IntersectSphereBox (vector origin, float radius, vector mins, vector maxs)
 Tests whether sphere is intersecting axis aligned box.
 
static proto bool IntersectSphereCone (vector origin, float radius, vector conepos, vector axis, float angle)
 Tests whether sphere is intersecting cone.
 
static proto bool IntersectWholeSphereCone (vector origin, float radius, vector conepos, vector axis, float angle)
 Tests whether sphere is fully inside cone.
 
static proto bool IntersectCylinderOBB (vector mins, vector maxs, vector obbMat[4], vector cylMat[4], float cylinderRadius, float cylinderHeight)
 Tests whether cylinder is intersecting oriented box.
 
static proto bool IntersectRayCylinder (vector rayStart, vector rayEnd, vector center, float radius, float height)
 Tests whether ray is intersecting cylinder.
 
static proto int IntersectRayPlane (vector rayStart, vector rayEnd, vector planeNormal, float planeDist, out vector intersection)
 Tests whether ray is intersecting plane.
 
static proto void YawPitchRollMatrix (vector ang, out vector mat[3])
 Creates rotation matrix from angles.
 
static proto void DirectionAndUpMatrix (vector dir, vector up, out vector mat[4])
 Creates rotation matrix from direction and up vector.
 
static proto void MatrixMultiply4 (vector mat0[4], vector mat1[4], out vector res[4])
 Transforms matrix.
 
static proto void MatrixMultiply3 (vector mat0[3], vector mat1[3], out vector res[3])
 Transforms rotation matrix.
 
static proto void MatrixInvMultiply4 (vector mat0[4], vector mat1[4], out vector res[4])
 Invert-transforms matrix.
 
static proto void MatrixInvMultiply3 (vector mat0[3], vector mat1[3], out vector res[3])
 Invert-transforms rotation matrix.
 
static proto void MatrixInverse4 (vector mat[4])
 Inverses a matrix.
 
static proto void MatrixInverse3 (vector mat[3])
 Inverses a matrix.
 
static proto void MatrixOrthogonalize4 (vector mat[4])
 Orthogonalizes matrix.
 
static proto void MatrixOrthogonalize3 (vector mat[3])
 Orthogonalizes matrix.
 
static void MatrixIdentity4 (out vector mat[4])
 Creates identity matrix.
 
static void MatrixIdentity3 (out vector mat[3])
 Creates identity matrix.
 
static void ScaleMatrix (float scale, out vector mat[3])
 Creates scale matrix.
 
static void QuatIdentity (out float q[4])
 Creates identity quaternion.
 
static void QuatCopy (float s[4], out float d[4])
 Copies quaternion.
 
static proto void MatrixToQuat (vector mat[3], out float d[4])
 Converts rotation matrix to quaternion.
 
static proto void QuatToMatrix (float q[4], out vector mat[3])
 Converts quaternion to rotation matrix.
 
static proto vector MatrixToAngles (vector mat[3])
 Returns angles of rotation matrix.
 
static proto void QuatLerp (out float qout[4], float q1[4], float q2[4], float frac)
 Linear interpolation between q1 and q2 with weight 'frac' (0...1)
 
static proto void QuatMultiply (out float qout[4], float q1[4], float q2[4])
 Multiplies quaternions.
 
static proto vector QuatToAngles (float q[4])
 Returns Angles vector from quaternion.
 
static proto int CheckBoundBox (vector mins1, vector maxs1, vector mins2, vector maxs2)
 Returns 1, when bounding boxes intersects.
 
static vector GetRandomDir ()
 Returns randon normalized direction.
 
static proto native vector Curve (ECurveType type, float param, notnull array< vector > points)
 Computes curve.
 
static proto vector NearestPoint (vector beg, vector end, vector pos)
 Point on line beg .. end nearest to pos.
 
static proto float AngleFromPosition (vector origin, vector originDir, vector target)
 Angle that a target is from the direction of an origin.
 
static proto void ConePoints (vector origin, float length, float halfAngle, float angleOffset, out vector leftPoint, out vector rightPoint)
 Calculates the points of a right 2D cone in 3D space.
 
static proto void BlendCartesian (vector samplePosition, notnull array< vector > inPositions, notnull array< float > outWeights)
 

Detailed Description

Enumeration Type Documentation

◆ ECurveType

enum ECurveType
Enumerator
CatmullRom 
NaturalCubic 
UniformCubic 

Function Documentation

◆ AngleFromPosition()

static proto float AngleFromPosition ( vector  origin,
vector  originDir,
vector  target 
)
staticprivate

Angle that a target is from the direction of an origin.

Returns
float Angle in radians

Referenced by EvaluateComponentEx(), EvaluateHit_Player(), DayZInfected::FightLogic(), GetMeleeTargetEx(), and ScriptConsoleSoundsTab::UpdateMousePos().

◆ BlendCartesian()

static proto void BlendCartesian ( vector  samplePosition,
notnull array< vector inPositions,
notnull array< float outWeights 
)
staticprivate

Output 2D blend space weights for inPositions when sampled at samplePosition

Parameters
samplePosition[X, Y, unused] coordinate to sample the 2d space
inPositions[X, Y, unused] positions in the 2d space
outWeightsOutput weights for individual nodes 1:1 to inPositions

Referenced by Blend2D< Class T >::Blend().

◆ CheckBoundBox()

static proto int CheckBoundBox ( vector  mins1,
vector  maxs1,
vector  mins2,
vector  maxs2 
)
staticprivate

Returns 1, when bounding boxes intersects.

Parameters
mins1vector minimum point of first bounding box
maxs1vector maximum point of first bounding box
mins2vector minimum point of second bounding box
maxs2vector maximum point of second bounding box
Returns
int 1 if boundig boxes intersects, otherwise 0
vector mins1 = "1 1 1";
vector maxs1 = "3 3 3";
vector mins2 = "2 2 2";
vector maxs2 = "4 4 4";
Print( Math3D.CheckBoundBox(mins1, maxs1, mins2, maxs2) );
>> 1
Definition EnMath3D.c:28
Definition EnConvert.c:106
proto void Print(void var)
Prints content of variable to console/log.
static proto int CheckBoundBox(vector mins1, vector maxs1, vector mins2, vector maxs2)
Returns 1, when bounding boxes intersects.

◆ ClipLine()

static proto vector ClipLine ( vector  start,
vector  end,
vector  norm,
float  d 
)
staticprivate

◆ ConePoints()

static proto void ConePoints ( vector  origin,
float  length,
float  halfAngle,
float  angleOffset,
out vector  leftPoint,
out vector  rightPoint 
)
staticprivate

Calculates the points of a right 2D cone in 3D space.

Parameters
originvector Origin of cone
lengthfloat Length of the cone
halfAnglefloat Half of the angle of the cone in radians
angleOffsetfloat Angle offset of the cone in radians (handy for rotating it along with something in the world)
[out]leftPointvector Left point of the cone
[out]rightPointvector Right point of the cone

Referenced by Debug::DrawCone(), and MeleeTargetSettings().

◆ Curve()

static proto native vector Curve ( ECurveType  type,
float  param,
notnull array< vector points 
)
staticprivate

Computes curve.

Returns
vector
auto points = new array<vector>();
points.Insert( Vector( 0, 0, 0) );
points.Insert( Vector( 5, 0, 0) );
points.Insert( Vector( 8, 3, 0) );
points.Insert( Vector( 6, 1, 0) );
float t = 0.5;
vector result = Math3D.Curve(ECurveType.CatmullRom, t, points);
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition IsBoxCollidingGeometryProxyClasses.c:28
ECurveType
Definition EnMath3D.c:21
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto native vector Curve(ECurveType type, float param, notnull array< vector > points)
Computes curve.

Referenced by RecoilBase::GetPositionOnCurve(), and KuruShake::Update().

◆ DirectionAndUpMatrix()

static proto void DirectionAndUpMatrix ( vector  dir,
vector  up,
out vector  mat[4] 
)
staticprivate

Creates rotation matrix from direction and up vector.

Parameters
dirvector direction vector
upvector up vector
[out]matvector[4] created rotation matrix
vector mat[4];
vector dir = "1 0 1";
vector up = "0 1 0";
DirectionAndUpMatrix( dir, up, mat );
Print( mat );
>> <0.707107,0,-0.707107>,<0,1,0>,<0.707107,0,0.707107>,<0,0,0>
static proto void DirectionAndUpMatrix(vector dir, vector up, out vector mat[4])
Creates rotation matrix from direction and up vector.

Referenced by PluginBase::CalculatePos(), DayZIntroScene::DayZIntroScene(), and FloatingCrossHair().

◆ GetRandomDir()

static vector GetRandomDir ( )
inlinestaticprivate

Returns randon normalized direction.

Returns
vector
>>vector ret = 0x0000000007c1a1c0 {<0.422565,0,-0.906333>}
static vector GetRandomDir()
Returns randon normalized direction.
Definition EnMath3D.c:447

References vector::Normalized(), Math::RandomFloatInclusive(), Vector(), x, and y.

◆ IntersectCylinderOBB()

static proto bool IntersectCylinderOBB ( vector  mins,
vector  maxs,
vector  obbMat[4],
vector  cylMat[4],
float  cylinderRadius,
float  cylinderHeight 
)
staticprivate

Tests whether cylinder is intersecting oriented box.

Parameters
minsvector Minimums of bound box
maxsvector Maximums of bound box
obbMatvector Transform of box
cylMatvector Transform of cylinder
cylinderRadiusfloat Radius of cylinder
cylinderHeightfloat Height of cylinder
Returns
bool True when cylinder is intersecting oriented box

Referenced by CfgPlayerRestrictedAreaHandler::IsCylinderInAreaBox().

◆ IntersectRayBox()

static proto float IntersectRayBox ( vector  start,
vector  end,
vector  mins,
vector  maxs 
)
staticprivate

Tests whether ray is intersecting axis aligned box.

Parameters
startvector Start of ray
endvector End of ray
minsvector Minimums of bound box
maxsvector Maximums of bound box
Returns
float -1 when not intersecting, else the fraction of ray

◆ IntersectRayCylinder()

static proto bool IntersectRayCylinder ( vector  rayStart,
vector  rayEnd,
vector  center,
float  radius,
float  height 
)
staticprivate

Tests whether ray is intersecting cylinder.

Parameters
rayStartvector Start of ray
rayEndvector End of ray
centervector Center of cylinder
radiusfloat Radius of cylinder
heightfloat Height of cylinder
Returns
bool True when ray is intersecting cylinder

◆ IntersectRayPlane()

static proto int IntersectRayPlane ( vector  rayStart,
vector  rayEnd,
vector  planeNormal,
float  planeDist,
out vector  intersection 
)
staticprivate

Tests whether ray is intersecting plane.

Parameters
rayStartvector Start of ray
rayEndvector End of ray
planeNormalvector Normal of the plane
planeDistfloat Length of the plane
intersectionvector Intersection point of the plane, only valid when return is 3
Returns
int 1 when behind, 2 when in front and 3 when intersecting the plane

◆ IntersectRaySphere()

static proto float IntersectRaySphere ( vector  raybase,
vector  raycos,
vector  center,
float  radius 
)
staticprivate

Tests whether ray is intersecting sphere.

Parameters
raybasevector Start of ray
raycosvector End of ray
centervector Center of sphere
radiusfloat Radius of sphere
Returns
float -1 when not intersecting, else the fraction of ray

◆ IntersectSphereBox()

static proto bool IntersectSphereBox ( vector  origin,
float  radius,
vector  mins,
vector  maxs 
)
staticprivate

Tests whether sphere is intersecting axis aligned box.

Parameters
originvector Origin of sphere
radiusfloat Radius of sphere
minsvector Minimums of bound box
maxsvector Maximums of bound box
Returns
bool True when intersects

◆ IntersectSphereCone()

static proto bool IntersectSphereCone ( vector  origin,
float  radius,
vector  conepos,
vector  axis,
float  angle 
)
staticprivate

Tests whether sphere is intersecting cone.

Parameters
originvector Origin of sphere
radiusfloat Radius of sphere
coneposvector Position of top of cone
axisvector Orientation of cone in direction from top to bottom
anglefloat Angle of cone in radians
Returns
bool True when sphere is intersecting cone

◆ IntersectWholeSphereCone()

static proto bool IntersectWholeSphereCone ( vector  origin,
float  radius,
vector  conepos,
vector  axis,
float  angle 
)
staticprivate

Tests whether sphere is fully inside cone.

Parameters
originvector Origin of sphere
radiusfloat Radius of sphere
coneposvector Position of top of cone
axisvector Orientation of cone in direction from top to bottom
anglefloat Angle of cone in radians
Returns
bool True when sphere is fully inside cone

◆ Math3D()

private void Math3D ( )
inlineprivate

◆ MatrixIdentity3()

static void MatrixIdentity3 ( out vector  mat[3])
inlinestaticprivate

Creates identity matrix.

Parameters
[out]matcreated identity matrix
vector mat[3];
Print( mat );
>> <1,0,0>,<0,1,0>,<0,0,1>
static void MatrixIdentity3(out vector mat[3])
Creates identity matrix.
Definition EnMath3D.c:275

◆ MatrixIdentity4()

◆ MatrixInverse3()

static proto void MatrixInverse3 ( vector  mat[3])
staticprivate

Inverses a matrix.

Parameters
[it]mat matrix which should be inversed

◆ MatrixInverse4()

static proto void MatrixInverse4 ( vector  mat[4])
staticprivate

Inverses a matrix.

Parameters
[it]mat matrix which should be inversed

◆ MatrixInvMultiply3()

static proto void MatrixInvMultiply3 ( vector  mat0[3],
vector  mat1[3],
out vector  res[3] 
)
staticprivate

Invert-transforms rotation matrix.

Parameters
mat0vector[3] first matrix
mat1vector[3] second matrix
[out]resvector[3] result of first and second matrix multiplication
vector mat0[3] = { "1.5 2.5 0", "0.1 1.3 0", "0 0 1" }; // rotation matrix
vector mat1[3] = { "1 0.4 0", "0 1 0", "0 1.3 2.7" }; // rotation matrix
vector res[3];
Math3D.MatrixInvMultiply3(mat0, mat1, res)
Print( res );
>> <2.5,0.62,0>,<2.5,1.3,0>,<3.25,1.69,2.7>
static proto void MatrixInvMultiply3(vector mat0[3], vector mat1[3], out vector res[3])
Invert-transforms rotation matrix.

Referenced by OnUpdate().

◆ MatrixInvMultiply4()

static proto void MatrixInvMultiply4 ( vector  mat0[4],
vector  mat1[4],
out vector  res[4] 
)
staticprivate

Invert-transforms matrix.

Parameters
mat0vector[4] first matrix
mat1vector[4] second matrix
[out]resvector[4] inverse result of first and second matrix multiplication
vector mat0[4] = { "2 0 0", "0 3 0", "0 0 1", "0 0 0" }; // scale matrix
vector mat1[4] = { "1 0 0", "0 1 0", "0 0 1", "2 4 1" }; // translation matrix
vector res[4];
Math3D.MatrixInvMultiply4(mat0, mat1, res)
Print( res );
>> <2,0,0>,<0,3,1>,<0,3,1>,<4,12,4>
static proto void MatrixInvMultiply4(vector mat0[4], vector mat1[4], out vector res[4])
Invert-transforms matrix.

Referenced by AddArrow(), IEntity::AddArrow(), DayZInfected::AddArrow(), and ManBase::AddArrow().

◆ MatrixMultiply3()

static proto void MatrixMultiply3 ( vector  mat0[3],
vector  mat1[3],
out vector  res[3] 
)
staticprivate

Transforms rotation matrix.

Parameters
mat0vector[3] first matrix
mat1vector[3] second matrix
[out]resvector[3] result of first and second matrix multiplication
vector mat0[3] = { "1.5 2.5 0", "0.1 1.3 0", "0 0 1" }; // rotation matrix
vector mat1[3] = { "1 0.4 0", "0 1 0", "0 1.3 2.7" }; // rotation matrix
vector res[3];
Math3D.MatrixMultiply3(mat0, mat1, res)
Print( res );
>> <1.54,3.02,0>,<0.1,1.3,0>,<0.13,1.69,2.7>
static proto void MatrixMultiply3(vector mat0[3], vector mat1[3], out vector res[3])
Transforms rotation matrix.

Referenced by Hologram::AlignProjectionOnTerrain(), and Weapon::ApproximateWeaponLiftTransform().

◆ MatrixMultiply4()

static proto void MatrixMultiply4 ( vector  mat0[4],
vector  mat1[4],
out vector  res[4] 
)
staticprivate

Transforms matrix.

Parameters
mat0vector[4] first matrix
mat1vector[4] second matrix
[out]resvector[4] result of first and second matrix multiplication
vector mat0[4] = { "2 0 0 0", "0 3 0 0", "0 1 0 0", "0 0 0 1" }; // scale matrix
vector mat1[4] = { "1 0 0 0", "0 1 0 0", "0 1 0 0", "2 4 1 3" }; // translation matrix
vector res[4];
Math3D.MatrixMultiply4(mat0, mat1, res)
Print( res );
>> <2,0,0>,<0,3,0>,<0,3,0>,<4,13,0>
static proto void MatrixMultiply4(vector mat0[4], vector mat1[4], out vector res[4])
Transforms matrix.

Referenced by EntityAI::IsAreaAtDoorFree(), and DayZPlayerCameraBase::OnUpdate().

◆ MatrixOrthogonalize3()

static proto void MatrixOrthogonalize3 ( vector  mat[3])
staticprivate

Orthogonalizes matrix.

Parameters
[it]mat matrix which should be orthogonalized

◆ MatrixOrthogonalize4()

static proto void MatrixOrthogonalize4 ( vector  mat[4])
staticprivate

Orthogonalizes matrix.

Parameters
[it]mat matrix which should be orthogonalized

Referenced by AddArrow(), IEntity::AddArrow(), DayZInfected::AddArrow(), and ManBase::AddArrow().

◆ MatrixToAngles()

static proto vector MatrixToAngles ( vector  mat[3])
staticprivate

Returns angles of rotation matrix.

Parameters
matvector[3] rotation matrix
Returns
vector roll, pitch, yaw angles
vector mat[3];
Math3D.RollPitchYawMatrix( "70 15 45", mat );
Print( ang );
>> <70,15,-45>
static proto vector MatrixToAngles(vector mat[3])
Returns angles of rotation matrix.

Referenced by Hologram::AlignProjectionOnTerrain(), FloatingCrossHair(), EntityAI::IsAreaAtDoorFree(), and OnUpdate().

◆ MatrixToQuat()

static proto void MatrixToQuat ( vector  mat[3],
out float  d[4] 
)
staticprivate

Converts rotation matrix to quaternion.

Parameters
matvector[3] rotation matrix
[out]dfloat[4] created quaternion copy
vector mat[3];
vector rot = "70 15 45";
float d[4];
Math3D.MatrixToQuat( mat, d );
Print( d );
>> {0.241626,0.566299,-0.118838,0.778973}
proto void RotationMatrixFromAngles(out vector mat[3])
Creates rotation matrix from angles.
static proto void MatrixToQuat(vector mat[3], out float d[4])
Converts rotation matrix to quaternion.

Referenced by ActionRepackTentCB::DropDuringRepacking(), FloatingCrossHair(), ActionDeployBase::MoveEntityToFinalPosition(), ItemBase::OnPlacementComplete(), and ThrowAllItemsInInventory().

◆ NearestPoint()

static proto vector NearestPoint ( vector  beg,
vector  end,
vector  pos 
)
staticprivate

Point on line beg .. end nearest to pos.

Returns
vector

Referenced by EvaluateComponentEx(), and GetMeleeTargetEx().

◆ QuatCopy()

static void QuatCopy ( float  s[4],
out float  d[4] 
)
inlinestaticprivate

Copies quaternion.

Parameters
sfloat[4] quaternion to copy
[out]dfloat[4] created quaternion copy
float s[4] = { 2, 3, 4, 1 };
float d[4];
Math3D.QuatCopy( s, d );
Print( d );
>> {2,3,4,1}
static void QuatCopy(float s[4], out float d[4])
Copies quaternion.
Definition EnMath3D.c:337

◆ QuatIdentity()

static void QuatIdentity ( out float  q[4])
inlinestaticprivate

Creates identity quaternion.

Parameters
[out]qfloat[4] created identity quaternion
float q[4];
Print( q );
>> {0,0,0,1}
static void QuatIdentity(out float q[4])
Creates identity quaternion.
Definition EnMath3D.c:316

◆ QuatLerp()

static proto void QuatLerp ( out float  qout[4],
float  q1[4],
float  q2[4],
float  frac 
)
staticprivate

Linear interpolation between q1 and q2 with weight 'frac' (0...1)

Parameters
[out]qoutfloat[4] result quaternion
q1float[4] first quaternion
q2float[4] second quaternion
fracfloat interpolation weight
float q1[4] = { 1, 1, 1, 1 };
float q2[4] = { 2, 2, 2, 1 };
float qout[4];
Math3D.QuatLerp( qout, q1, q2, 0.5 );
Print( qout );
>> {1.5,1.5,1.5,1}
static proto void QuatLerp(out float qout[4], float q1[4], float q2[4], float frac)
Linear interpolation between q1 and q2 with weight 'frac' (0...1)

Referenced by FloatingCrossHair().

◆ QuatMultiply()

static proto void QuatMultiply ( out float  qout[4],
float  q1[4],
float  q2[4] 
)
staticprivate

Multiplies quaternions.

Parameters
[out]qoutfloat[4] result quaternion
q1float[4] first quaternion
q2float[4] second quaternion
float q1[4] = { 1, 2, 3, 1 };
float q2[4] = { 2, 2, 2, 1 };
float qout[4];
Math3D.QuatMultiply( qout, q1, q2 );
Print( qout );
>> {2,4,6,1}
static proto void QuatMultiply(out float qout[4], float q1[4], float q2[4])
Multiplies quaternions.

◆ QuatToAngles()

static proto vector QuatToAngles ( float  q[4])
staticprivate

Returns Angles vector from quaternion.

Referenced by UIScriptedMenu::SetCameraData(), and UIScriptedMenu::Update().

◆ QuatToMatrix()

static proto void QuatToMatrix ( float  q[4],
out vector  mat[3] 
)
staticprivate

Converts quaternion to rotation matrix.

Referenced by FloatingCrossHair().

◆ ScaleMatrix()

static void ScaleMatrix ( float  scale,
out vector  mat[3] 
)
inlinestaticprivate

Creates scale matrix.

Parameters
scalescale coeficient
[out]matcreated scale matrix
vector mat[3];
Math3D.ScaleMatrix( 2.5, mat );
Print( mat );
>> <2.5,0,0>,<0,2.5,0>,<0,0,2.5>
static void ScaleMatrix(float scale, out vector mat[3])
Creates scale matrix.
Definition EnMath3D.c:294

◆ Vector()

proto native vector Vector ( float  x,
float  y,
float  z 
)

Vector constructor from components.

Parameters
xfloat x component
yfloat y component
zfloat z component
Returns
vector resulting vector
Print( Vector(1, 2, 3) );
>> <1,2,3>

Referenced by Weapon::ApproximateWeaponLiftTransform(), vector::ArrayToVec(), Blend2D< Class T >::Blend(), Hit_MeatBones::BloodSplatGround(), PluginBase::CalculatePos(), DayZIntroSceneXbox::CameraCreate(), CarLightBase::CarRearLight(), TentBase::CarTent(), Math::CenterOfRectangle(), WeaponParticlesBase::CheckOrientationOverride(), CarLightBase::CivilianSedanFrontLight(), CarRearLightBase::CivilianSedanRearLight(), CGame::CloseCombatEffects(), CreateBridgeArrow(), Car::CreateCarDestroyedEffect(), Particle::CreateOnObject(), SceneData::CreateScenePlayer(), EffectAreaLoader::CreateZones(), DayZIntroScene::DayZIntroScene(), CGame::DelayedMidAirDetonation(), EntityLightSource::DetachFromParent(), PoweredOptic_Base::DoMeasurement(), ItemBase::DoMeasurement(), Debug::DrawCone(), CfgPlayerRestrictedAreaHandler::DrawPolygonLinesDebug(), UniversalTemperatureSourceLambdaBaseImpl::DryItemsInVicinity(), BuildingSuper::EEInit(), Misc_TirePile_Burning_DE::EEInit(), UniversalTemperatureSourceLambdaBaseImpl::Execute(), Explode(), FilterObstructedObjectsByGrouping(), FlareSimulation::FlareParticleUpdate(), FloatingCrossHair(), GatherTemperatureSources(), GameplayEffectsData::GenerateSequenceRandomPosition(), Weapon_Base::GetApproximateMovementOffset(), Weapon::GetApproximateMovementOffset(), GetBoxCenter(), IEntity::GetCenter(), GetCollisionBoxSize(), Hologram::GetCollisionBoxSize(), GetCurrentOrientation(), GetFireEffectPosition(), ScriptedWidgetEventHandler::GetItemSize(), GetMeleeTarget(), GetMeleeTargetEx(), GetMouseDistance(), JsonUndergroundAreaTriggerData::GetOrientation(), JsonUndergroundAreaTriggerData::GetPosition(), SceneObject::GetPosition(), SceneObject::GetPositionAsString(), GetPositionRandomized(), Math3D::GetRandomDir(), GetRandomizedPosition(), GetRandomPos(), DynamicMusicLocationDynamicData::GetRectangularCoordsFromSize(), JsonUndergroundAreaTriggerData::GetSize(), SceneObject::GetSize(), GetSmokeEffectPosition(), FireplaceIndoor::GetSmokeEffectPosition(), FireplaceBase::GetSmokeEffectPosition(), EntityLightSource::HandleDancingShadows(), CarLightBase::Hatchback_02FrontLight(), CarRearLightBase::Hatchback_02RearLight(), BroomBase::Init(), UIScriptedMenu::Init(), Barrel_ColorBase::InitItemVariables(), InitPRAShapeData(), Blend2D< Class T >::Insert(), IsColliding(), IsCollidingEx(), Hologram::IsCollidingZeroPos(), IsEntityBehindEntityInAngle(), IsSpaceFor(), IsSpaceForCircle(), IsSpaceForOven(), IsUnderRoofFromToCalculation(), LargeTent(), MissionBenchmark::LerpCamera(), Weapon::LiftWeaponCheckEx(), LongTorch::LongTorch(), TentBase::MediumTent(), CarLightBase::Offroad_02FrontLight(), CarRearLightBase::Offroad_02RearLight(), CarLightBase::OffroadHatchbackFrontLight(), CarRearLightBase::OffroadHatchbackRearLight(), WeaponParticlesBase::OnActivate(), FlareSimulation::OnActivation(), ItemBase::OnDebugSpawn(), MapHandler::OnDoubleClick(), ScriptConsoleGeneralTab::OnDoubleClick(), OnDraggingEnd(), FireworksLauncherClientEvent::OnFired(), PointLightBase::OnFrameLightSource(), ItemBase::OnInventoryExit(), Roadflare::OnInventoryExit(), Switchable_Base::OnInventoryExit(), MapHandler::OnKeyDown(), UIScriptedMenu::OnShow(), DayZPlayer::OnStepEvent(), OnUpdateClient(), Roadflare::OnWorkStart(), TentBase::PartyTent(), ScriptConsoleGeneralTab::ProcessTeleportText(), vector::RandomDir(), vector::RandomDir2D(), Particle::RandWiggleVector(), DayZIntroScene::ResetIntroCamera(), SeaChest::SeaChest(), CarLightBase::Sedan_02FrontLight(), CarRearLightBase::Sedan_02RearLight(), PluginBase::SelectedObjectDuplicate(), GameInventory::SetGroundPosByOwnerBounds(), UIScriptedMenu::SetItem(), Hologram::SetOnGround(), AreaDamageComponentRaycasted::SetRaycastLength(), SetWaterLevelHeight(), TentBase::ShelterBase(), DayZIntroScene::SnapToGround(), DayZIntroSceneXbox::SnapToGround(), CrashBase::SpawnRandomDeers(), ThrowAllItemsInInventory(), PlayerRestrictedAreaInstance::TranslateSafePositions(), CarLightBase::Truck_01FrontLight(), CarRearLightBase::Truck_01RearLight(), TruncateVec(), FlammableBase::TryTransformIntoStick(), ScriptedWidgetEventHandler::UpdateItems(), InventoryGridController::UpdateItems(), FlammableBase::UpdateLight(), CGame::UpdatePathgraphRegionByObject(), UIScriptedMenu::UpdateQuickbarItemCard(), ScriptedWidgetEventHandler::UpdateQuickbarItems(), PlayerRestrictedAreaInstance::ValidatePlayerRestrictedAreaPositions(), WeaponParticlesBase::WeaponParticlesBase(), WoodenCrate::WoodenCrate(), CrashBase::Wreck_Mi8_Crashed(), and CrashBase::Wreck_UH1Y().

◆ YawPitchRollMatrix()

static proto void YawPitchRollMatrix ( vector  ang,
out vector  mat[3] 
)
staticprivate

Creates rotation matrix from angles.

Parameters
angvector which contains angles
[out]matvector created rotation matrix
vector mat[3];
YawPitchRollMatrix( "70 15 45", mat );
Print( mat );
>> <0.330366,0.0885213,-0.939693>,<0.458809,0.854988,0.241845>,<0.824835,-0.511037,0.241845>
static proto void YawPitchRollMatrix(vector ang, out vector mat[3])
Creates rotation matrix from angles.

Referenced by AddArrow(), DayZInfected::AddArrow(), ManBase::AddArrow(), Hologram::AlignProjectionOnTerrain(), Weapon::ApproximateWeaponLiftTransform(), ActionRepackTentCB::DropDuringRepacking(), InitPRAShapeData(), ActionDeployBase::MoveEntityToFinalPosition(), ItemBase::OnPlacementComplete(), DayZPlayerCameraBase::OnUpdate(), OnUpdate(), and ThrowAllItemsInInventory().

◆ ~Math3D()

private void ~Math3D ( )
inlineprivate