mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-05-11 17:58:18 +00:00
52 lines
2.6 KiB
C++
52 lines
2.6 KiB
C++
#pragma once
|
|
|
|
#include <math/seadQuat.h>
|
|
#include <math/seadVector.h>
|
|
|
|
#include "Library/Math/Axis.h"
|
|
|
|
namespace al {
|
|
void verticalizeVec(sead::Vector3f* out, const sead::Vector3f& vertical, const sead::Vector3f& vec);
|
|
|
|
f32 calcAngleRadian(const sead::Vector3f&, const sead::Vector3f&);
|
|
f32 calcAngleDegree(const sead::Vector3f&, const sead::Vector3f&);
|
|
f32 calcAngleDegree(const sead::Vector2f&, const sead::Vector2f&);
|
|
f32 calcAngleOnPlaneRadian(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&);
|
|
f32 calcAngleOnPlaneDegree(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&);
|
|
f32 calcAngleOnPlaneDegreeOrZero(const sead::Vector3f&, const sead::Vector3f&,
|
|
const sead::Vector3f&);
|
|
s32 calcAngleSignOnPlane(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&);
|
|
|
|
bool tryCalcAngleDegree(f32*, const sead::Vector3f&, const sead::Vector3f&);
|
|
bool tryCalcAngleOnPlaneDegree(f32*, const sead::Vector3f&, const sead::Vector3f&,
|
|
const sead::Vector3f&);
|
|
|
|
bool isNearZero(const sead::Vector2f& vec, f32 tolerance);
|
|
bool isNearZero(const sead::Vector3f& vec, f32 tolerance);
|
|
bool isParallelDirection(const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
bool isNearAngleRadian(const sead::Vector2f&, const sead::Vector2f&, f32);
|
|
bool isNearAngleRadian(const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
bool isNearAngleDegree(const sead::Vector2f&, const sead::Vector2f&, f32);
|
|
bool isNearAngleDegree(const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
bool isNearAngleRadianHV(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&, f32,
|
|
f32);
|
|
bool isNearAngleDegreeHV(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&, f32,
|
|
f32);
|
|
bool isInAngleOnPlaneDegreeHV(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&,
|
|
f32, f32, f32, f32);
|
|
|
|
void normalize(sead::Vector2f*, const sead::Vector2f&);
|
|
void normalize(sead::Vector3f*, const sead::Vector3f&);
|
|
void normalize(sead::Vector2f*);
|
|
void normalize(sead::Vector3f*);
|
|
bool tryNormalizeOrZero(sead::Vector3f*, const sead::Vector3f&);
|
|
bool tryNormalizeOrZero(sead::Vector3f*);
|
|
|
|
void alongVectorNormalH(sead::Vector3f*, const sead::Vector3f&, const sead::Vector3f&,
|
|
const sead::Vector3f&);
|
|
|
|
Axis calcNearVecFromAxis3(sead::Vector3f*, const sead::Vector3f&, const sead::Vector3f&,
|
|
const sead::Vector3f&, const sead::Vector3f&);
|
|
Axis calcNearVecFromAxis3(sead::Vector3f*, const sead::Vector3f&, const sead::Quatf&);
|
|
} // namespace al
|