Silence warnings
This commit is contained in:
@@ -12,23 +12,23 @@ namespace OpenVulkano::Math
|
|||||||
{
|
{
|
||||||
class CameraIntrinsic
|
class CameraIntrinsic
|
||||||
{
|
{
|
||||||
Math::Matrix3f_SIMD cameraMatrix;
|
Matrix3f_SIMD cameraMatrix;
|
||||||
public:
|
public:
|
||||||
CameraIntrinsic() : CameraIntrinsic(Math::Matrix3f(0)) {}
|
CameraIntrinsic() : CameraIntrinsic(Matrix3f(0)) {}
|
||||||
|
|
||||||
CameraIntrinsic(const Math::Matrix3f& camMat) : cameraMatrix(camMat)
|
CameraIntrinsic(const Matrix3f& camMat) : cameraMatrix(camMat)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
CameraIntrinsic(const Math::Matrix3f_SIMD& camMat) : cameraMatrix(camMat)
|
CameraIntrinsic(const Matrix3f_SIMD& camMat) : cameraMatrix(camMat)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
CameraIntrinsic(float fx, float fy, float cx, float cy, float skew = 0)
|
CameraIntrinsic(const float fx, const float fy, const float cx, const float cy, const float skew = 0)
|
||||||
: cameraMatrix(fx, 0, 0, skew, fy, 0, cx, cy, 0)
|
: cameraMatrix(fx, 0, 0, skew, fy, 0, cx, cy, 0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
[[nodiscard]] CameraIntrinsic Scale(float scale) const
|
[[nodiscard]] CameraIntrinsic Scale(const float scale) const
|
||||||
{
|
{
|
||||||
Math::Matrix3f scaled = cameraMatrix;
|
Matrix3f scaled = cameraMatrix;
|
||||||
scaled[0][0] *= scale;
|
scaled[0][0] *= scale;
|
||||||
scaled[2][0] *= scale;
|
scaled[2][0] *= scale;
|
||||||
scaled[1][1] *= scale;
|
scaled[1][1] *= scale;
|
||||||
@@ -36,9 +36,9 @@ namespace OpenVulkano::Math
|
|||||||
return { scaled };
|
return { scaled };
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] CameraIntrinsic Scale(Math::Vector2f scale) const
|
[[nodiscard]] CameraIntrinsic Scale(const Vector2f& scale) const
|
||||||
{
|
{
|
||||||
Math::Matrix3f scaled = cameraMatrix;
|
Matrix3f scaled = cameraMatrix;
|
||||||
scaled[0][0] *= scale.x;
|
scaled[0][0] *= scale.x;
|
||||||
scaled[2][0] *= scale.x;
|
scaled[2][0] *= scale.x;
|
||||||
scaled[1][1] *= scale.y;
|
scaled[1][1] *= scale.y;
|
||||||
@@ -77,22 +77,22 @@ namespace OpenVulkano::Math
|
|||||||
return Fy() / Fx();
|
return Fy() / Fx();
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] float GetFovX(float imageWidth) const
|
[[nodiscard]] float GetFovX(const float imageWidth) const
|
||||||
{
|
{
|
||||||
return 2 * atanf((imageWidth / Fx()) * 0.5f);
|
return 2 * atanf((imageWidth / Fx()) * 0.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] float GetFovY(float imageHeight) const
|
[[nodiscard]] float GetFovY(const float imageHeight) const
|
||||||
{
|
{
|
||||||
return 2 * atanf((imageHeight / Fy()) * 0.5f);
|
return 2 * atanf((imageHeight / Fy()) * 0.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] Math::Vector3f ProjectTo3D(Math::Vector2i pixelCoordinates, float depth) const
|
[[nodiscard]] Vector3f ProjectTo3D(const Vector2i& pixelCoordinates, const float depth) const
|
||||||
{
|
{
|
||||||
return ProjectTo3D(Math::Vector2f(pixelCoordinates), depth);
|
return ProjectTo3D(Vector2f(pixelCoordinates), depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] Math::Vector3f ProjectTo3D(Math::Vector2f pixelCoordinates, float depth) const
|
[[nodiscard]] Vector3f ProjectTo3D(const Vector2f& pixelCoordinates, const float depth) const
|
||||||
{
|
{
|
||||||
// TODO handle skew
|
// TODO handle skew
|
||||||
return {
|
return {
|
||||||
@@ -107,7 +107,7 @@ namespace OpenVulkano::Math
|
|||||||
return Scale(scale);
|
return Scale(scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] CameraIntrinsic operator * (const Math::Vector2f& scale) const
|
[[nodiscard]] CameraIntrinsic operator * (const Vector2f& scale) const
|
||||||
{
|
{
|
||||||
return Scale(scale);
|
return Scale(scale);
|
||||||
}
|
}
|
||||||
@@ -117,23 +117,24 @@ namespace OpenVulkano::Math
|
|||||||
|
|
||||||
class CameraIntrinsicWithResolution : public CameraIntrinsic
|
class CameraIntrinsicWithResolution : public CameraIntrinsic
|
||||||
{
|
{
|
||||||
Math::Vector2i resolution;
|
Vector2i resolution;
|
||||||
public:
|
public:
|
||||||
CameraIntrinsicWithResolution() : CameraIntrinsic(), resolution(0, 0) {}
|
CameraIntrinsicWithResolution() : resolution(0, 0) {}
|
||||||
|
|
||||||
CameraIntrinsicWithResolution(const CameraIntrinsic& intrinsic, const Math::Vector2i resolution)
|
CameraIntrinsicWithResolution(const CameraIntrinsic& intrinsic, const Vector2i resolution)
|
||||||
: CameraIntrinsic(intrinsic), resolution(resolution)
|
: CameraIntrinsic(intrinsic), resolution(resolution)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
CameraIntrinsicWithResolution(const Math::Matrix3f& camMat, const Math::Vector2i resolution)
|
CameraIntrinsicWithResolution(const Matrix3f& camMat, const Vector2i resolution)
|
||||||
: CameraIntrinsic(camMat), resolution(resolution)
|
: CameraIntrinsic(camMat), resolution(resolution)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
CameraIntrinsicWithResolution(const Math::Matrix3f_SIMD& camMat, const Math::Vector2i resolution)
|
CameraIntrinsicWithResolution(const Matrix3f_SIMD& camMat, const Vector2i resolution)
|
||||||
: CameraIntrinsic(camMat), resolution(resolution)
|
: CameraIntrinsic(camMat), resolution(resolution)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
CameraIntrinsicWithResolution(Math::Vector2i resolution, float fx, float fy, float cx, float cy, float skew = 0)
|
CameraIntrinsicWithResolution(const Vector2i& resolution, const float fx, const float fy,
|
||||||
|
const float cx, const float cy, const float skew = 0)
|
||||||
: CameraIntrinsic(fx, fy, cx, cy, skew), resolution(resolution)
|
: CameraIntrinsic(fx, fy, cx, cy, skew), resolution(resolution)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@@ -147,14 +148,14 @@ namespace OpenVulkano::Math
|
|||||||
return CameraIntrinsic::GetFovY(static_cast<float>(resolution.y));
|
return CameraIntrinsic::GetFovY(static_cast<float>(resolution.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] Math::Vector2i GetResolution() const
|
[[nodiscard]] Vector2i GetResolution() const
|
||||||
{
|
{
|
||||||
return resolution;
|
return resolution;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] CameraIntrinsicWithResolution GetForResolution(const Math::Vector2i newResolution) const
|
[[nodiscard]] CameraIntrinsicWithResolution GetForResolution(const Vector2i& newResolution) const
|
||||||
{
|
{
|
||||||
return { Scale(Math::Vector2f(newResolution) / Math::Vector2f(resolution)), resolution };
|
return { Scale(Vector2f(newResolution) / Vector2f(resolution)), resolution };
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user